NEWS
Alexa Temperaturabfrage mit Node Red
-
@kymchy Geht auch per Change Node. Ne einfache Sprachausgabe auf einen bestimmten Echo, würde dann so aussehen.
Oder so wenn man es mit ner Funktion macht.
-
@kymchy Wenn du die Außentemperatur mit rein haben willst, musst du die mit ner get Node Abfragen und die msg. mit in den Text reinbringen.
In diesem Fall frage ich auch noch den letzten angesprochenen Echo habe und gebe den Text dort aus. Dafür muss dann in der Output Node das Topic leer bleiben, das wird von der Change Node geschrieben.
Geht auch mit Funktion Nodes
Edit: Habe den Code mit den Funktion Nodes noch mal angepasst, da hatte ich nen Fehler
In der Funktion Node (speak) Runde ich übrigens die Temperatur noch auf eine Stelle nach dem Komma. -
Danke für deine ganze Mühe! Ich wollte jetzt mal diese Geschichte mit den virtuellen Geräten ausprobieren. Das ganze soll recht gut funktionieren. Aber ich glaube, für die Abfrage muss der Wortlaut haargenau stimmen, das fände ich persönlich nicht so toll. Mal sehen...
-
Im Moment sieht das erstmal so aus:
Ich habe keine Ahnung, wo ich da jetzt mein ioBroker in anschließen soll. -
@kymchy Hi, genau weiß ich das auch nicht, da ich die Node selber nicht verwende.
Die iobroker in kommt auf jeden Fall anstatt der Injekt Node. Wenn ich das richtig gesehen habe musst du die Temperatur als msg.payload.temperature übergeben und mit msg.payload.scale noch CELSIUS für die Scalierung. Das geht mit ner Change Node.
Edit: In diesem Fall würde ich bei der In Node die Einstellung "send Message at start wählen" damit du bei Deploy bzw. bei Node Red Neustart sofort nen Temperaturwert bekommst.
Als Tipp noch: Du solltest in den Adaptereinstellungen von Node Red, den Punkt "iobroker Werte in Zeichenkette konvertieren" deaktivieren (ist Standartmäßig leider immer aktiviert), da sonst die iobroker in und get Nodes nur Strings (Zeichenketten) ausgeben. Wenn man das deaktiviert kommen Boolean (true / false) bzw. Nummern aus den Nodes, damit lässt sich besser arbeiten.
-
@frankyboy73 Jo in dem anderen Projekt klappen die anderen Nodes super inkl. Temperaturabfrage. Insofern wenn ich Alexa nutzen würde, kann ich die Nodes nur empfehlen.
@Kymchy @frankyboy73 hat Dir ja gezeigt wie man die Alexa Node füttert. Du findest übrigens über die Import Funktion - und Beispiele - falls Du Dir diese NOdes installiert hast - welche Parameter gefüllt werden müssen.
![0_1637443942187_264d2e94-83ac-4f12-bf52-b863ca1d3688-image.png](Lade 100% hoch)
-
@mickym @frankyboy73 Vielen Dank für die Tipps. Habs so gemacht, funktioniert aber leider nicht. Bekomme keine Werte in den DPs...
-
@kymchy Hast Du Dir denn diese Nodes installiert? - Das Beispiel muss doch funktionieren, da nimmst Du doch eine Inject node als Input.
Wo möchtest Du den Werte haben? Du willst doch Temperaturen auslesen und nicht setzen?
-
@mickym ich habs so gemacht, wie frankyboy es beschrieben hatte, also den Inject Node ersetzt durch den ioBroker in Node. Und den Change Node noch dazwischen.
-
@kymchy Und in dem DP den Du in der iobroker-In Node zeigt auf eine Punkt der die Temperatur anzeigt? Ich weiss wo der Fehler liegt - Du bekommst wahrscheinlich eine Fehlermeldung im Log.
-
@mickym ja genau:
Unter dem ioBroker Node wird die Temperatur ja auch angezeigt. -
@mickym Cannot set property of non-object type: payload.scale
meinst du den? -
@kymchy sagte in Alexa Temperaturabfrage mit Node Red:
@mickym Cannot set property of non-object type: payload.scale
meinst du den?Ja - ich zeig Dir gleich wie man den behebt und das ist die Ursache.
So Du nimmst beim ersten Parameter ein Verschiebe (und Du musst das ganze umdrehen) :
-
@mickym
keine Daten in den DPs, müsste da nicht was kommen?
-
@kymchy Na diese Datenpunkte haben doch mit der Alexa Node nichts zu tun - diese müssen doch von Deinem Sensor /Aussenfühler gefüllt werden oder was sind das für Datenpunkte??? Jedenfalls hat das mit der Alexa Node nichts zu tun.
Die Temperaturwerte müssen doch von Deinem Homematic IP gefüllt werden.
-
@mickym naja, das ist doch der Sensor, den Alexa gefunden hat, nachdem ich den Node eigerichtet hatte
-
@kymchy Na das ist käse - diese Nodes brauchst Du ja nicht mehr, wenn Du die andere Node installiert hast - kann sogar ein, dass beide Nodes in Konflikt sind.
Weiss nicht ob Deine bisherigen Nodes funktionieren. Schreib halt selbst einen Wert da rein. Dann musst Du den Datenpunkt mit der richtigen Temperatur Deines Sensors füllen.
-
@kymchy Allerdings zeigt der Sensor in der Alexa App jetzt die Temperatur richtig an. Herzlichen Dank! Ich hatte gedacht, die Werte würde Alexa aus den DPs nehmen, hatte ich wohl falsch gedacht...
-
@kymchy Du kannst die alten Alexa Datenpunkte löschen - die brauchst Du mit der neuen Node nicht mehr. Also falls die DP von irgendwas vorher mit Alexa kommt - dann lösch das wieder, nicht das es da Konflikte gibt. Ich weiß nicht was Du vorher installiert hast.
-
@mickym ich habe keine Ahnung, woher diese DPs kommen, auf jeden Fall wurden sie angelegt, nachdem ich den Alexa Node erstellt hatte.