Home Connect und Node Red
Moderator: Co-Administratoren
Home Connect und Node Red
Hallo
ich habe einige Fragen zu dieser Kombi.
Zur Technik. Ich habe Node in einer Ubuntu-Installation auf einer VM laufen.
Die einschlägigen Webseiten und Forumeinträge habe ich gelesen.
Wie weit bin ich:
1. Node für HomeConnect ist installiert.
2. Anmeldung im Portal ist okay
3. ID, Secret und Callback eingetragen
4. Start authorization --> Zulassen --> Antwort ok.
5. an den Nodes steht ready.
Nun zu meinen Fragen:
1. In fast allen Dokus sind drei nodes vorhanden. Ich habe nur 2, request und event.
2. Auf einer Seite habe ich gelesen "Gerät init" anklicken Ich habe den Eintrag nicht gefunden.
3. Nach Geräten scannen! Geht das nur über Code oder müssten die angezeigt werden? (bei mir steht an den Nodes ready statt connect).
4. Ich brauchen die HAID der einzelnen Geräte. Werden die angezeigt oder eher über den Code. (Wenn ich die Seriennummer eintrage, kommt auch nur ready)
Trage ich die SN ein kommt "{"type":"error","status":403,"message":"Forbidden"}".
Entweder habe ich irgendetwas übersehen oder einen Fehler begangen. Vielleicht hat jemand eine Idee, denn ich hänge an dieser Stelle fest.
Besten Dank für die Unterstützung
Viele Grüße
Jens
ich habe einige Fragen zu dieser Kombi.
Zur Technik. Ich habe Node in einer Ubuntu-Installation auf einer VM laufen.
Die einschlägigen Webseiten und Forumeinträge habe ich gelesen.
Wie weit bin ich:
1. Node für HomeConnect ist installiert.
2. Anmeldung im Portal ist okay
3. ID, Secret und Callback eingetragen
4. Start authorization --> Zulassen --> Antwort ok.
5. an den Nodes steht ready.
Nun zu meinen Fragen:
1. In fast allen Dokus sind drei nodes vorhanden. Ich habe nur 2, request und event.
2. Auf einer Seite habe ich gelesen "Gerät init" anklicken Ich habe den Eintrag nicht gefunden.
3. Nach Geräten scannen! Geht das nur über Code oder müssten die angezeigt werden? (bei mir steht an den Nodes ready statt connect).
4. Ich brauchen die HAID der einzelnen Geräte. Werden die angezeigt oder eher über den Code. (Wenn ich die Seriennummer eintrage, kommt auch nur ready)
Trage ich die SN ein kommt "{"type":"error","status":403,"message":"Forbidden"}".
Entweder habe ich irgendetwas übersehen oder einen Fehler begangen. Vielleicht hat jemand eine Idee, denn ich hänge an dieser Stelle fest.
Besten Dank für die Unterstützung
Viele Grüße
Jens
Re: Home Connect und Node Red
Hallo,
ich suche immer noch, wie ich HAID rausbekomme?
Ich habe die Nummer über
/homeappliances Get all home appliances which are paired with the logged-in user account.
über die API versucht zu holen.
Obwohl oben Authorize steht kommt die Meldung:
Code Details
401 Error: Unauthorized
Versuche ich in der API neu zu autorisieren, dann kommt:
{
"error": "unauthorized_client",
"error_description": "client or redirection URI not authorized",
obwohl ich auf Start ... gegangenen bin.
Irgendwie laufe ich in die Irre. Hat jemand eine Idee?
Danke Jens
ich suche immer noch, wie ich HAID rausbekomme?
Ich habe die Nummer über
/homeappliances Get all home appliances which are paired with the logged-in user account.
über die API versucht zu holen.
Obwohl oben Authorize steht kommt die Meldung:
Code Details
401 Error: Unauthorized
Versuche ich in der API neu zu autorisieren, dann kommt:
{
"error": "unauthorized_client",
"error_description": "client or redirection URI not authorized",
obwohl ich auf Start ... gegangenen bin.
Irgendwie laufe ich in die Irre. Hat jemand eine Idee?
Danke Jens
-
- Beiträge: 269
- Registriert: 14.11.2018, 20:43
- System: CCU
- Wohnort: Bayern
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 17 Mal
Re: Home Connect und Node Red
Hallo André,
danke für die Antwort. Dies hatte ich mir aber schon durchgearbeitet.
Mein Fehler muss irgendwo anders liegen.
Der Fehler kommt auf der api-Seite. Viele Grüße Jens.
danke für die Antwort. Dies hatte ich mir aber schon durchgearbeitet.
Mein Fehler muss irgendwo anders liegen.
Der Fehler kommt auf der api-Seite. Viele Grüße Jens.
-
- Beiträge: 123
- Registriert: 02.11.2008, 10:28
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Drebkau
- Danksagung erhalten: 1 Mal
Re: Home Connect und Node Red
Was hast Du denn im Node hinterlegt?
Ich komme zwar auch nicht weiter, kann aber zumindest meine Geräte mit dem Scope "IdentifyAppliance" auslesen.
Ich komme zwar auch nicht weiter, kann aber zumindest meine Geräte mit dem Scope "IdentifyAppliance" auslesen.
-
- Beiträge: 123
- Registriert: 02.11.2008, 10:28
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Drebkau
- Danksagung erhalten: 1 Mal
Re: Home Connect und Node Red
Kann mir jemand sagen welchen Scope ich wo eingeben muss?
Am liebsten wäre mir ein vollständiger Flow...
Am liebsten wäre mir ein vollständiger Flow...
-
- Beiträge: 123
- Registriert: 02.11.2008, 10:28
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Drebkau
- Danksagung erhalten: 1 Mal
Re: Home Connect und Node Red
Hatte bitte jemand mal einen Flow für mich, den ich anpassen könnte? Please....
-
- Beiträge: 123
- Registriert: 02.11.2008, 10:28
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Drebkau
- Danksagung erhalten: 1 Mal
Re: Home Connect und Node Red
Hallo Zusammen,
leider bin ich an dieser Stelle noch nicht weiter gekommen
Die Geräte sind abrufbar - mit dem Scope "IdentifyAppliance" - mehr bekomme ich nicht hin.
Kann mit jemand ein Beispiel geben, was ich zum abfragen der Geräte (Status) tun muss?
Besten Dank!
leider bin ich an dieser Stelle noch nicht weiter gekommen
Die Geräte sind abrufbar - mit dem Scope "IdentifyAppliance" - mehr bekomme ich nicht hin.
Kann mit jemand ein Beispiel geben, was ich zum abfragen der Geräte (Status) tun muss?
Besten Dank!
-
- Beiträge: 269
- Registriert: 14.11.2018, 20:43
- System: CCU
- Wohnort: Bayern
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 17 Mal
Re: Home Connect und Node Red
Hey hier ein Auszug am Beispiel Siemens Geschirrspühler nicht schön aber es funktioniert.
Ist auf alle Fälle noch Luft nach oben
HAID habe ich entfernt aber ich denke am Aufbau ist die Funktion ersichtlich wie du zu einem Ergebnis kommen kannst.
Weiter bin ich aktuell aus Zeitgründen auch noch nicht gekommen, vielleicht hilft es dir etwas weiter bei deinem Problem zu kommen.
Ist auf alle Fälle noch Luft nach oben
HAID habe ich entfernt aber ich denke am Aufbau ist die Funktion ersichtlich wie du zu einem Ergebnis kommen kannst.
Weiter bin ich aktuell aus Zeitgründen auch noch nicht gekommen, vielleicht hilft es dir etwas weiter bei deinem Problem zu kommen.
Code: Alles auswählen
[
{
"id": "7bfadbcd.fd69dc",
"type": "home-connect-event",
"z": "727cc375.c5863c",
"auth": "715d6111.5718c",
"name": "",
"haid": "",
"x": 480,
"y": 320,
"wires": [
[
"661743df.8af34c"
]
]
},
{
"id": "f3850b61.a66fe",
"type": "home-connect-request",
"z": "727cc375.c5863c",
"auth": "",
"name": "",
"tag": "default",
"operationId": "get_home_appliances",
"haid": "",
"body": "",
"optionkey": "",
"programkey": "",
"settingkey": "",
"statuskey": "",
"imagekey": "",
"x": 500,
"y": 380,
"wires": [
[]
]
},
{
"id": "f2f1050f.c228b8",
"type": "inject",
"z": "727cc375.c5863c",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 290,
"y": 400,
"wires": [
[
"f3850b61.a66fe"
]
]
},
{
"id": "b64083d1.e7d908",
"type": "function",
"z": "727cc375.c5863c",
"name": "Programm Laufzeit in %",
"func": "if (msg.payload.key === \"BSH.Common.Option.ProgramProgress\"){\nmsg.payload = msg.payload.value}\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 710,
"y": 240,
"wires": [
[
"87646dd2.0f5d38"
]
]
},
{
"id": "78f7dfde.dee248",
"type": "function",
"z": "727cc375.c5863c",
"name": "Programm Laufzeit in Min",
"func": "msg.payload = msg.payload.value / 60;\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 750,
"y": 280,
"wires": [
[
"d948f873.6223a"
]
]
},
{
"id": "87646dd2.0f5d38",
"type": "ui_level",
"z": "727cc375.c5863c",
"group": "3510e515.04cb7a",
"order": 3,
"width": 0,
"height": 0,
"name": "",
"label": "Fortschritt %",
"colorHi": "#e60000",
"colorWarn": "#ff9900",
"colorNormal": "#00b33c",
"colorOff": "#595959",
"min": 0,
"max": 100,
"segWarn": "",
"segHigh": "",
"unit": "",
"layout": "sh",
"channelA": "",
"channelB": "",
"decimals": 0,
"animations": "soft",
"shape": "3",
"colorschema": "rainbow",
"textoptions": "default",
"colorText": "#eeeeee",
"fontLabel": "",
"fontValue": "",
"fontSmall": "",
"colorFromTheme": true,
"textAnimations": false,
"hideValue": false,
"tickmode": "auto",
"peakmode": false,
"property": "payload",
"peaktime": 3000,
"x": 930,
"y": 240,
"wires": []
},
{
"id": "d948f873.6223a",
"type": "ui_text",
"z": "727cc375.c5863c",
"group": "3510e515.04cb7a",
"order": 2,
"width": 0,
"height": 0,
"name": "",
"label": "Restlaufzeit in Minuten: ",
"format": "{{msg.payload}}",
"layout": "row-spread",
"className": "",
"x": 1050,
"y": 300,
"wires": []
},
{
"id": "661743df.8af34c",
"type": "switch",
"z": "727cc375.c5863c",
"name": "",
"property": "payload.key",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "BSH.Common.Option.RemainingProgramTime",
"vt": "str"
},
{
"t": "eq",
"v": "BSH.Common.Option.ProgramProgress",
"vt": "str"
},
{
"t": "eq",
"v": "BSH.Common.Event.ProgramFinished",
"vt": "str"
},
{
"t": "eq",
"v": "BSH.Common.Status.OperationState",
"vt": "str"
},
{
"t": "eq",
"v": "BSH.Common.Root.ActiveProgram",
"vt": "str"
},
{
"t": "eq",
"v": "BSH.Common.Status.DoorState",
"vt": "str"
}
],
"checkall": "true",
"repair": false,
"outputs": 6,
"x": 690,
"y": 360,
"wires": [
[
"78f7dfde.dee248"
],
[
"b64083d1.e7d908"
],
[
"78c30a8e.c88324"
],
[
"c77c9a79.6b46d8"
],
[
"b0f617e.ce511e8"
],
[
"3d7a9992.226d8e"
]
]
},
{
"id": "62c21b87.51ac8c",
"type": "ui_switch",
"z": "727cc375.c5863c",
"name": "",
"label": "Geschirrspühler läuft / fertig",
"tooltip": "",
"group": "3510e515.04cb7a",
"order": 1,
"width": "0",
"height": "0",
"passthru": false,
"decouple": "true",
"topic": "",
"topicType": "str",
"style": "",
"onvalue": "true",
"onvalueType": "bool",
"onicon": "fa-power-off fa-2x aria-hidden=\"true\"",
"oncolor": "green",
"offvalue": "false",
"offvalueType": "bool",
"officon": "fa-power-off fa-2x aria-hidden=\"true\"",
"offcolor": "red",
"animate": true,
"className": "",
"x": 1140,
"y": 340,
"wires": [
[]
]
},
{
"id": "78c30a8e.c88324",
"type": "change",
"z": "727cc375.c5863c",
"name": "false",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 950,
"y": 380,
"wires": [
[
"62c21b87.51ac8c"
]
]
},
{
"id": "8d398596.341d48",
"type": "change",
"z": "727cc375.c5863c",
"name": "true",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 950,
"y": 340,
"wires": [
[
"62c21b87.51ac8c"
]
]
},
{
"id": "c77c9a79.6b46d8",
"type": "switch",
"z": "727cc375.c5863c",
"name": "",
"property": "payload.value",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "BSH.Common.EnumType.OperationState.Run",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "true",
"repair": false,
"outputs": 2,
"x": 830,
"y": 340,
"wires": [
[
"8d398596.341d48"
],
[]
]
},
{
"id": "b0f617e.ce511e8",
"type": "switch",
"z": "727cc375.c5863c",
"name": "",
"property": "payload.key",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "BSH.Common.Root.ActiveProgram",
"vt": "str"
}
],
"checkall": "true",
"repair": false,
"outputs": 1,
"x": 830,
"y": 400,
"wires": [
[
"b5420f64.ab5b8"
]
]
},
{
"id": "3d7a9992.226d8e",
"type": "switch",
"z": "727cc375.c5863c",
"name": "",
"property": "payload.value",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "BSH.Common.EnumType.DoorState.Closed",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "true",
"repair": false,
"outputs": 2,
"x": 790,
"y": 480,
"wires": [
[
"2f08ad93.55d0f2"
],
[
"b420acc2.5cb16"
]
]
},
{
"id": "2f08ad93.55d0f2",
"type": "change",
"z": "727cc375.c5863c",
"name": "true",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 950,
"y": 480,
"wires": [
[
"df75a6cb.de5c88"
]
]
},
{
"id": "b420acc2.5cb16",
"type": "change",
"z": "727cc375.c5863c",
"name": "false",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 950,
"y": 520,
"wires": [
[
"df75a6cb.de5c88"
]
]
},
{
"id": "df75a6cb.de5c88",
"type": "ui_switch",
"z": "727cc375.c5863c",
"name": "",
"label": "Geschirrspühler Tür auf / zu",
"tooltip": "",
"group": "3510e515.04cb7a",
"order": 1,
"width": "0",
"height": "0",
"passthru": false,
"decouple": "true",
"topic": "",
"topicType": "str",
"style": "",
"onvalue": "true",
"onvalueType": "bool",
"onicon": "fa-power-off fa-2x aria-hidden=\"true\"",
"oncolor": "green",
"offvalue": "false",
"offvalueType": "bool",
"officon": "fa-power-off fa-2x aria-hidden=\"true\"",
"offcolor": "red",
"animate": true,
"className": "",
"x": 1140,
"y": 500,
"wires": [
[]
]
},
{
"id": "b5420f64.ab5b8",
"type": "function",
"z": "727cc375.c5863c",
"name": "",
"func": "var text;\ntext = msg.payload.value ;\nmsg.payload = text.split('.')[3].substr(0,15);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 980,
"y": 420,
"wires": [
[
"1beaf3f0.e2387c"
]
]
},
{
"id": "1beaf3f0.e2387c",
"type": "ui_text",
"z": "727cc375.c5863c",
"group": "3510e515.04cb7a",
"order": 2,
"width": 0,
"height": 0,
"name": "",
"label": "Aktives Programm: ",
"format": "{{msg.payload}}",
"layout": "row-spread",
"className": "",
"x": 1150,
"y": 420,
"wires": []
},
{
"id": "715d6111.5718c",
"type": "home-connect-auth",
"name": "",
"simulation_mode": false,
"scope": "IdentifyAppliance Dishwasher",
"callback_url": "http://192.168.123.40/addons/red/homeconnect/auth/callback"
},
{
"id": "3510e515.04cb7a",
"type": "ui_group",
"name": "Geschirrspühler",
"tab": "c99335cd.a8c168",
"order": 6,
"disp": true,
"width": "6",
"collapse": false,
"className": ""
},
{
"id": "c99335cd.a8c168",
"type": "ui_tab",
"name": "Leistungs-/Messwertdaten",
"icon": "dashboard",
"order": 10,
"disabled": false,
"hidden": false
}
]
Gruß André