NEWS
Temperaturen über Node RED und Alexa abfragen!
-
Hallo,
ich suche nach einer Möglichkeit in Node Red die Temperaturen der Homematic Wandthermostate über Alexa abfragen zu können. Hat jemand eine Idee wie ich das Umsetzten kann?
Vielen Dank im Voraus!
-
Moin,
ich kann die aktuellen Werte nur in der alexa App sehen. Frage ich alexa, wie hoch der Wert ist, kommt entweder xxx unterstützt das nicht oder, bei der Frage nach wieviel Prozent hat xxx, das wird noch nicht unterstützt.Um die Werte in der Alexa App zu sehen, musste ich den Node Alexa local anpassen. Der Programmierer hat nur vorgesehen, 49% zurück zu melden.
-
Sollte mit dem ioBroker input node und iobroker Alexa Node gehen....und den Alexa2 Adapter.
-
Würde mich auch interessieren, wie ich mit Node Red und Alexa die Temperatur abfragen kann.
Bei mir gehts um den Hue Motion Sensor. Ich habe in Node Red auch einen Baustein gefunden der die Temperatur vom Sensor holt. Nur weiß ich leider nicht was ich weiter damit anfangen kann. Hab leider nicht viel Ahnung von Node Red.@LaBamba Falls du eine Lösung findest immer her damit. Auch wenn du einen anderen Thermostat verwendest dürfte die Lösung am Ende doch ähnlich sein.
-
@sigi234
Hast du mal ein Beispiel wie dies in Node Red dann aussehen müsste? -
[ { "id": "6910cfca.38536", "type": "tab", "label": "Temperaturansagen", "disabled": false, "info": "" }, { "id": "ccf94307.cb036", "type": "amazon-echo-hub", "z": "6910cfca.38536", "port": "80", "enableinput": false, "x": 100, "y": 60, "wires": [ [ "213bb398.a065cc" ] ] }, { "id": "213bb398.a065cc", "type": "amazon-echo-device", "z": "6910cfca.38536", "name": "Temperatur Schlafzimmer", "topic": "", "x": 330, "y": 60, "wires": [ [ "f927e866.ddff48" ] ] }, { "id": "f927e866.ddff48", "type": "ioBroker get", "z": "6910cfca.38536", "name": "Lese Temperatur Schlafzimmer", "topic": "zigbee.0.00158d000323059c.temperature", "attrname": "payload", "payloadType": "value", "x": 590, "y": 60, "wires": [ [ "946af687.5b5738" ] ] }, { "id": "946af687.5b5738", "type": "function", "z": "6910cfca.38536", "name": "Temperatur auslesen", "func": "var str = msg.payload;\nvar res = str.substr(0, 5);\nmsg.payload = Math.round(res);\nmsg.payload = \"Es sind \" + msg.payload + \" Grad im Schlafzimmer\";\nmsg.url = \"\";\nreturn msg;", "outputs": 1, "noerr": 0, "x": 840, "y": 60, "wires": [ [ "d111d86b.a19228", "2815dbba.74d3a4" ] ] }, { "id": "2815dbba.74d3a4", "type": "ioBroker out", "z": "6910cfca.38536", "name": "speak", "topic": "alexa2.0.Echo-Devices.G090U6109186088H.Commands.speak", "ack": "false", "autoCreate": "false", "x": 1030, "y": 60, "wires": [] }, { "id": "d111d86b.a19228", "type": "debug", "z": "6910cfca.38536", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "x": 1040, "y": 140, "wires": [] } ]
Hier ein Flow mit dem sich Temperaturen abfragen lassen. Damit erstellt ihr ein "Licht" welches als Gerät von Alexa erkannt wird. Hier dann eine Routine anlegen mit "wie ist die Temperatur im ... " und die Aktion auf das Licht stellen. Einfach die Entsprechenden Daten ändern und dann sollte es klappen
-
Danke Torben,
leider übersteigt dies meine Kenntnisse. Mit node-red beschäftige ich mich erst seit kurzem.
Viele Grüße -
@TorbenNW
Ich habe dein Flow übernommen.Es funktioniert wie kann man es machen das der echo antwortet den man anspricht? Danke -
@TorbenNW Danke dir! Funktioniert soweit.
Allerdings sagt Alexa dann immer: OK, Es sind 23 Grad im Schlafzimmer.
Kann man irgendwie das "OK" weg machen? Wahrscheinlich nicht, oder? -
@Apropo kommt das ok auch wenn Alexa zb ein Licht einschalten soll?
-
@excalibur270 Ja, dann kommt es auch. Als Alternative gibt´s wahscheinlich nur den Kurzmodus mit dem Ton als Bestätigung, oder? Besser wie nix, aber auch nicht das gelbe vom Ei. Ich hoffe die bringen mal irgendwann ein Update raus, wo man selbst festlegen kann wann sie was sagt und wann nicht.
-
@ostseereiter
Da kann ich dir tatsächlich so auf die schnelle nicht helfen, ich habe nur einen Dot daher kommt das Problem bei mir nicht auf... Und so bewandert bin ich in Node Red bzw. dann Blockly leider noch nicht.@Apropo bei mir kommt das OK tatsächlich nicht immer vor, nur mal sporadisch. Stört mich persönlich aber nicht.
Ansonsten bau den Satz doch um auf " du wolltest von mir die Temperatur wissen? Es sind ... Grad im Zimmer"
Das hört sich dann evtl. etwas besser an? -
@TorbenNW Das ist ne gute Idee. Macht es dann direkt attraktiver. Danke dir!
-
Du kannst die Seriennummer des letzten verwendeten Echo-Geräts aus dem Alexa2-Adapter benutzen und dann mittels "switch" das entsprechende Gerät ansprechen und natürlich auch die Seriennummer im "speak" anpassen.
Sieht insgesamt nicht schön aus, aber es funktioniert:
-
@Fenian
danke erst mal da ich 4 habe mache ich dann den selectDevice 4 mal. versuche ich dann mal wenn ich von der Nachtschicht daheim bin. -
Es geht doch noch einfacher und bequemer:
Hier sind die Einstellungen für "join":
Und hier die angpasste Funktion "Temperatur auslesen":
Wichtig: Topic in "speak" muss leer sein. Das wird jetzt durch die Funktion gesetzt.
Der Vorteil bei dieser Version liegt imho in der besseren Übersichtlichkeit und natürlich darin, dass ich keine Alexas von Hand mehr hinzufügen muss.
-
Und während ich hier so mit Screenshots um mich schmeisse, fällt mir wieder ein, dass es einfacher gewesen wäre den Flow zu exportieren und hier zu posten.
[ { "id": "3ff22dd8.7fec9a", "type": "tab", "label": "Temperaturansagen", "disabled": false, "info": "" }, { "id": "ffc59ffe.a9a58", "type": "amazon-echo-hub", "z": "3ff22dd8.7fec9a", "port": "80", "enableinput": false, "x": 100, "y": 64, "wires": [ [ "60cd043e.a012ec" ] ] }, { "id": "60cd043e.a012ec", "type": "amazon-echo-device", "z": "3ff22dd8.7fec9a", "name": "Temperatur Schlafzimmer", "topic": "", "x": 330, "y": 64, "wires": [ [ "880ed474.c7dfb8", "7cb2ff99.6c53d" ] ] }, { "id": "880ed474.c7dfb8", "type": "ioBroker get", "z": "3ff22dd8.7fec9a", "name": "serialNumber", "topic": "alexa2.0.History.serialNumber", "attrname": "payload", "payloadType": "value", "x": 565, "y": 64, "wires": [ [ "af872fed.2e36d" ] ] }, { "id": "7cb2ff99.6c53d", "type": "ioBroker get", "z": "3ff22dd8.7fec9a", "name": "Raumklima Schlafzimmer temperature", "topic": "deconz.0.Sensors.39.temperature", "attrname": "payload", "payloadType": "value", "x": 633.5, "y": 111, "wires": [ [ "af872fed.2e36d" ] ] }, { "id": "af872fed.2e36d", "type": "join", "z": "3ff22dd8.7fec9a", "name": "", "mode": "custom", "build": "array", "property": "payload", "propertyType": "msg", "key": "topic", "joiner": "\\n", "joinerType": "str", "accumulate": false, "timeout": "", "count": "2", "reduceRight": false, "reduceExp": "", "reduceInit": "", "reduceInitType": "", "reduceFixup": "", "x": 880, "y": 65, "wires": [ [ "5517ab3.6b2e7d4" ] ] }, { "id": "5517ab3.6b2e7d4", "type": "function", "z": "3ff22dd8.7fec9a", "name": "Temperatur auslesen", "func": "var device = msg.payload[0]\nvar str = msg.payload[1];\nvar res = str.substr(0, 5);\nmsg.payload = Math.round(res);\nmsg.payload = \"Es sind \" + msg.payload + \" Grad im Schlafzimmer\";\nmsg.url = \"\";\nvar command = \"alexa2.0.Echo-Devices.\" + device + \".Commands.speak\"\nmsg.topic = command;\nreturn msg;\n", "outputs": 1, "noerr": 0, "x": 1053, "y": 65, "wires": [ [ "90bca55d.0d3348" ] ] }, { "id": "90bca55d.0d3348", "type": "ioBroker out", "z": "3ff22dd8.7fec9a", "name": "speak", "topic": "", "ack": "false", "autoCreate": "false", "x": 1224.5, "y": 65, "wires": [] } ]
Naja, manchmal hat man ein Brett vorm Kopf
-
@Fenian
Danke -
@Fenian ich habe erst mal dein Flow übernommen soweit läuft es auch nur manchmal wenn ich im Wohnzimmer frage antwortet der Echo im Flur oder fare ich die Küche antwortet das Wohnzimmer. Erst wenn ich zb zu erst eine andere Frage stelle und dann die Temperaturabfrage starte wird es vom gleichen Echo bearbeitet.
-
@Fenian
Hallo,
danke für die Arbeit. Vor einigen Tagen hatte ich dieses Thema begonnen.
Ich habe jetzt deinen Flow eingefügt.
Ich bekomme immer von Alexa die Antwort ECHO2 Schlafzimmer unterstützt das nicht!
An was könnte dies liegen?
Ich nehme an du hast einen der ECHO3???Zudem bekomme ich folgende Fehlermeldung!