NEWS
Alexa ein befehl true oder false
-
@mickym
Achsooo!!! Schande über mein haupt
ja diese option ist angehakt -
@Aphofis OK mit dieser Einstellung bekommst Du dann im Node-Red nur Text raus - das musst Du halt wissen und ggf. konvertieren - egal wie der Datenpunkt konfiguriert ist.
Das mag sinnvoll sein, wenn man ähnlich wie mit mqtt arbeiten will. Willst Du jedoch, dass keine Typkonvertierung stattfindet, dann musst den Haken halt raus machen.Dann bleiben wir doch mal bei dem ursprünglich von Dir geposteten Flow - kannst Du den auch mal exportieren?
Ich gehe mal davon aus, dass diese aquarium-info Node ja funktioniert? Hast Du mal eine Debug Node dahintergehängt und geschaut ob was rauskommt aus der Node - wenn Du mit Alexa den entsprechenden Befehl gibst?
Und noch was: Verwende Function Nodes nur im äußersten Notfall oder bei komplexen Fragestellungen - sonst machst Du die ganzen Vorteile von Node-Red - grafisch Dir die Flows anzuschauen - komplett zu nichte. Dann kannst gleich alles Java-Script in einer Function Node kopieren.
-
@mickym
Da kam ein Debug raus nur halt jetzt nicht mehr![ { "id": "6dac84f0.fc2eec", "type": "tab", "label": "Aquarium Info", "disabled": false, "info": "" }, { "id": "a79b37b1.ab50d8", "type": "switch", "z": "6dac84f0.fc2eec", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "eq", "v": "false", "vt": "str" }, { "t": "eq", "v": "true", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 530, "y": 300, "wires": [ [ "c3b65007.dd9628" ], [ "7d3d0e47.b569" ] ] }, { "id": "be3e85ef.aeb568", "type": "ioBroker get", "z": "6dac84f0.fc2eec", "name": "Aquarium_Info", "topic": "Aqua_Control.0.System.Aquarium_Info", "attrname": "payload", "payloadType": "value", "x": 380, "y": 300, "wires": [ [ "a79b37b1.ab50d8" ] ] }, { "id": "c3b65007.dd9628", "type": "change", "z": "6dac84f0.fc2eec", "name": "false", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "false", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 670, "y": 260, "wires": [ [ "b56db490.8a04e" ] ] }, { "id": "7d3d0e47.b569", "type": "change", "z": "6dac84f0.fc2eec", "name": "true", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "true", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 670, "y": 340, "wires": [ [ "b56db490.8a04e" ] ] }, { "id": "b56db490.8a04e", "type": "ioBroker out", "z": "6dac84f0.fc2eec", "name": "Aquarium_Info", "topic": "Aqua_Control.0.System.Aquarium_Info", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 840, "y": 300, "wires": [] }, { "id": "ccc7fafa.991e28", "type": "alexa-local", "z": "6dac84f0.fc2eec", "devicename": "aquarium-info", "inputtrigger": false, "x": 140, "y": 300, "wires": [ [ "be3e85ef.aeb568" ] ] } ]
OK verstanden mache ich ! ich wusste es einfach nihct besser und hatte rum probiert bis irgendwas funktionierte
-
@Aphofis So sieht das doch nicht schlecht aus. Du musst nur die beiden Change Nodes umgekehrt an den Switch Node anschliessen. - Du willst ja das es umschaltet. So setzt Du false wenn false und true wenn true.
-
@mickym
i will try -
@mickym
Alexa will einfach kein neues Gerät finden![ { "id": "8c9f0f34.ebd0a", "type": "tab", "label": "Badezimmer", "disabled": false, "info": "" }, { "id": "a2e50519.903df8", "type": "ioBroker out", "z": "8c9f0f34.ebd0a", "name": "badezimmer", "topic": "sonoff.0.bad_decke.POWER1", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 870, "y": 400, "wires": [] }, { "id": "a14b9dd2.72fbe", "type": "switch", "z": "8c9f0f34.ebd0a", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "eq", "v": "false", "vt": "str" }, { "t": "eq", "v": "true", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 550, "y": 400, "wires": [ [ "a548aea7.e190d8" ], [ "869f8b34.fe117" ] ] }, { "id": "1ef29d63.705e2b", "type": "ioBroker get", "z": "8c9f0f34.ebd0a", "name": "badezimmer", "topic": "sonoff.0.bad_decke.POWER1", "attrname": "payload", "payloadType": "value", "x": 370, "y": 400, "wires": [ [ "a14b9dd2.72fbe" ] ] }, { "id": "869f8b34.fe117", "type": "change", "z": "8c9f0f34.ebd0a", "name": "false", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "false", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 710, "y": 440, "wires": [ [ "a2e50519.903df8", "e5404bcb.f01f08" ] ] }, { "id": "a548aea7.e190d8", "type": "change", "z": "8c9f0f34.ebd0a", "name": "true", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "true", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 710, "y": 380, "wires": [ [ "a2e50519.903df8", "dfb36ffa.d5fa1" ] ] }, { "id": "c2f76a62.3e73f8", "type": "alexa-local", "z": "8c9f0f34.ebd0a", "devicename": "badezimmer", "inputtrigger": false, "x": 190, "y": 400, "wires": [ [ "1ef29d63.705e2b", "87e0941e.5f0e6" ] ] }, { "id": "dfb36ffa.d5fa1", "type": "debug", "z": "8c9f0f34.ebd0a", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 880, "y": 340, "wires": [] }, { "id": "e5404bcb.f01f08", "type": "debug", "z": "8c9f0f34.ebd0a", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 870, "y": 480, "wires": [] }, { "id": "87e0941e.5f0e6", "type": "debug", "z": "8c9f0f34.ebd0a", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 370, "y": 340, "wires": [] } ]
Sei mir jetzt nihct böse das ich es mit badezimmer Decke mache! da bei dem switch nicht so viel text geredet wird von Alexa also insofern sie das gerät mal finden würde.
nach dem Switch habe ich jetzt einfavh am switch true dann false angeschlossen und bei false umgekehrt. -
komisch ist das ich über 20 flows habe, die Alexa alle einwandfrei erkannt hat und auch geschaltet werden können.
nur seid einer woche wills nicht mehr so richtig -
@Aphofis said in Alexa ein befehl true oder false:
Alexa will einfach kein neues Gerät finden!
Nun bei der Kommunikation mit Alexa kann ich Dir nicht helfen. Das hat aber mit dem Flow nichts zu tun. Im Prinzip dienen die Alexa Nodes ja nur als Trigger. Die Flows an sich kannst Du ja mit einem Inject Node testen.
Bei Deinem Badezimmer Flow schaut das prinzipiell gut aus. Nur musst Du halt wissen ob Du die Datenpunkte mit true/false oder on/off schalten musst. Bei dem Sonoff Adapter kenn ich mich auch nicht aus. Wenn Du Tasmota über mqtt steuerst, dann ist der Datenpunkt um den Status auszulesen ein anderer, als der mit dem Du schaltest.
Aber im Prinzip müssten die Flows nun funktionieren. Wie gesagt teste es einfach in dem Du Inject-Nodes verwendest. Alexa ist wie gesagt eine andere Baustelle - da ich Siri nutze.
-
@mickym
Das macht ja der Flow. Ich schalte true oder false und die steuerung macht daraus on oder off da Alexa mit true oder false nix anfangen kann. ich meine ich brauche doch nur eine wechsel schaltung.
Also zB. wenn ich sage Bad und der Datenpunkt ist false wird er geändert auf true sage ich noch mal Alexa: bad wird der datenpunkt auf false gestellt. -
@aphofis In dem Du einfach den Status am Besten true/false status ausliest (mit einer get-Node) und dann das Gegenteil setzt.
Die Change Node mit der Negation sieht wie folgt aus - als Input darf natürlich nur eine Boolean Variable geholt werden:
Falls Du halt die unselige Option in dem Adapter angehakt hast, dass alles in Strings umgewandelt wird - dann musst halt den Umweg über eine neue Typvariable in der Change Node gehen.
-
@mickym
Serh Cool Vielen dank ich teste das mal ! -
@mickym
Ist nur die Frage, wo binde ich das ein !?[ { "id": "9210c811.e5cf7", "type": "tab", "label": "bad_decke", "disabled": false, "info": "" }, { "id": "f2936f54.4900d", "type": "function", "z": "9210c811.e5cf7", "name": "true", "func": "msg.payload = true;\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "x": 950, "y": 220, "wires": [ [ "de05e9b9.b4cd5" ] ] }, { "id": "de05e9b9.b4cd5", "type": "ioBroker out", "z": "9210c811.e5cf7", "name": "bad_decke POWER", "topic": "sonoff.0.bad_decke.POWER", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1220, "y": 240, "wires": [] }, { "id": "44863659.638d7", "type": "function", "z": "9210c811.e5cf7", "name": "false", "func": "msg.payload = false;\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "x": 950, "y": 260, "wires": [ [ "de05e9b9.b4cd5" ] ] }, { "id": "9b08d19a.45c8a", "type": "switch", "z": "9210c811.e5cf7", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "eq", "v": "on", "vt": "str" }, { "t": "eq", "v": "off", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 710, "y": 240, "wires": [ [ "f2936f54.4900d" ], [ "44863659.638d7" ] ] }, { "id": "f71963ce.72d2", "type": "alexa-local", "z": "9210c811.e5cf7", "devicename": "bad", "inputtrigger": false, "x": 490, "y": 240, "wires": [ [ "9b08d19a.45c8a" ] ] }, { "id": "9295c9be.627c88", "type": "change", "z": "9210c811.e5cf7", "name": "Negation", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "str", "to": "true", "tot": "bool" }, { "t": "change", "p": "payload", "pt": "msg", "from": "false", "fromt": "str", "to": "true", "tot": "str" }, { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "bool", "to": "false", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 320, "y": 240, "wires": [ [ "f71963ce.72d2" ] ] }, { "id": "658584c8.db959c", "type": "ioBroker get", "z": "9210c811.e5cf7", "name": "bad_decke POWER1", "topic": "sonoff.0.bad_decke.POWER1", "attrname": "payload", "payloadType": "value", "x": 140, "y": 240, "wires": [ [ "9295c9be.627c88" ] ] } ]
-
@aphofis sagte in Alexa ein befehl true oder false:
Ist nur die Frage, wo binde ich das ein !?
Anstelle Deinens Switches und den beiden function Nodes true und falls - also nur
aquarium-info die türkise Alexa Node - dann die beiden Nodes, die ich Dir geschickt habe und die iobroker-out Node.
In die get-Node musst Du im Topic natürlich noch den Pfad zu dem Aquarium_Info Node eingeben, um den aktuellen Zustand zu ermitteln.Im Prinzip interessiert Dich nicht WAS Alexa sagt, sondern nur DASS sie was sagt. Dann holst Du Dir die jetzige Einstellung und schaltest das Gegenteil.
-
@mickym
OK also praktisch so !?[ { "id": "9210c811.e5cf7", "type": "tab", "label": "bad_decke", "disabled": false, "info": "" }, { "id": "f71963ce.72d2", "type": "alexa-local", "z": "9210c811.e5cf7", "devicename": "bad", "inputtrigger": false, "x": 510, "y": 240, "wires": [ [ "658584c8.db959c" ] ] }, { "id": "9295c9be.627c88", "type": "change", "z": "9210c811.e5cf7", "name": "Negation", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "str", "to": "true", "tot": "bool" }, { "t": "change", "p": "payload", "pt": "msg", "from": "false", "fromt": "str", "to": "true", "tot": "str" }, { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "bool", "to": "false", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 880, "y": 240, "wires": [ [] ] }, { "id": "658584c8.db959c", "type": "ioBroker get", "z": "9210c811.e5cf7", "name": "bad POWER1", "topic": "sonoff.0.bad_decke.POWER", "attrname": "payload", "payloadType": "value", "x": 700, "y": 240, "wires": [ [ "9295c9be.627c88" ] ] } ]
-
@aphofis Ja und Nein.
Du hast jetzt den Change Node genommen, der in Deinem Datenpunkt Text erwartet und nicht die Negation.
Grundsätzlich musst Du halt noch den iobroker-out Node dahinter hängen. Dann schau halt noch mal ob Dein Datenpunkt sonoff.0.bad_decke.POWER überhaupt true oder falls enthält wenn der ON oder OFF enthält dann musst Du die Change Node natürlich umschreiben.
Hast Du in Deiner Adapterkonfiguration alles in strings umzuwandeln angekreuzt?
-
@mickym
Ne der Datenpunkt enthält true oder false -
@aphofis OK - und ist diese dumme Option in Deiner Adapterkonfig nun angekreuzt oder nicht?
-
@mickym
Ja ist aktiviert
nur ich blicke nicht mehr durch in welcher reihenfolge die elemente sein müssen -
@aphofis Na ich weiß nicht wieiviel Flows Du schon hast - sonst würde ich das Ding in jedem Fall ausmachen. Aber so wie es jetzt ist, kannst Du den Flow nehmen, sowie von Dir gepostet -aber Du musst halt das Ergebnis über eine iobroker-out Node noch in den Datenpunkt schicken, der das Ding dann ein oder ausschaltet.
Wenn Du den Haken jetzt raus machst, dann kann es sein, dass Deine bisherigen Flows nicht mehr funktionieren. Es ist eine Schande, dass man den Haken standardmäßig einschaltet.
In dem Flow wie oben dargestellt ist das ja Aquarium_Info.
-
@mickym
ist es so korrekt ?[ { "id": "9210c811.e5cf7", "type": "tab", "label": "bad_decke", "disabled": false, "info": "" }, { "id": "f71963ce.72d2", "type": "alexa-local", "z": "9210c811.e5cf7", "devicename": "badezimmer", "inputtrigger": false, "x": 530, "y": 240, "wires": [ [ "658584c8.db959c" ] ] }, { "id": "9295c9be.627c88", "type": "change", "z": "9210c811.e5cf7", "name": "Negation", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "str", "to": "true", "tot": "bool" }, { "t": "change", "p": "payload", "pt": "msg", "from": "false", "fromt": "str", "to": "true", "tot": "str" }, { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "bool", "to": "false", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 940, "y": 240, "wires": [ [ "ed7d17b7.c4d448" ] ] }, { "id": "658584c8.db959c", "type": "ioBroker get", "z": "9210c811.e5cf7", "name": "bad POWER1", "topic": "sonoff.0.bad_decke.POWER", "attrname": "payload", "payloadType": "value", "x": 740, "y": 240, "wires": [ [ "9295c9be.627c88" ] ] }, { "id": "ed7d17b7.c4d448", "type": "ioBroker out", "z": "9210c811.e5cf7", "name": "badezimmer", "topic": "Aqua_Control.0.System.badezimmer", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1140, "y": 240, "wires": [] } ]