NEWS
MAX! Cube Blockly Abwesenheit
-
@cinimod Du hast das wirklich sehr schön erklärt...ich habs so eingebaut. Vielen Dank dafür.
-
@marko1974 sagte in MAX! Cube Blockly Abwesenheit:
Mein Problem ist, wenn ich den Adapter installiere, dass ich zwar eventuell die Abwesenheit über ioBroker hinbekomme, nur nicht die Steuerung über alexa.
Ich habe meine gesamte Logik über NodeRed implementiert - das ist doch das geringste Problem.
Iobroker ist die zentrale Komponente mit der Du alles Systeme verheiraten kannst.
Am wenigsten kann ich zu Alexa und NodeRed sagen, da ich keine Alexa nutze.@marko1974 sagte in MAX! Cube Blockly Abwesenheit:
Jedes einzelne Thermostat muss halt in Node Red mit seinen states und den settemps. da fehlt mir im Moment einfach das Verständnis, obwohl ich sogar alte Funksteckdosen über Node Red über Umwege an Alexa über ioBroker expose.
Wenn das Thermostate als Datenpunkte im iobroker hast, dann kannst Du in NodeRed doch darauf zugreifen.
Wie gesagt - wenn der MaxCube Adapter bei Dir arbeitet - ist kein Problem - diese Datenpunkte aus NodeRed zu beschrieben. Wie gesagt ich nutze nicht den Adapter sondern weiterhin fhem - aber die ganze Steuerung erfolgt über NodeRed und sogar über das NodeRed Dashboard.
Was Du machen kannst - falls Du mal die Wochenprofile bearbeiten musst und der Adapter es nicht unterstützt - dann kannst den Adapter immer noch stoppen - sowie jetzt die HomeBridge. Dann kann man zur Eingabe der Wochenprofile immer noch die Originalsoftware nutzen - die funktioniert bei mir immer noch:
@marko1974 sagte in MAX! Cube Blockly Abwesenheit:
Eben...der Cube läuft nur dann stabil, wenn er eine Dauerverbindung hat.
Falls Du nicht den Umweg über den iobroker Adapter gehen willst - kannst auch diese Nodes in NodeRed Installieren - die haben auch eine permanente Verbindung zum MaxCube: https://flows.nodered.org/node/node-red-contrib-maxcube2
-
@mickym Wow super wie Du das gemacht hast. Bin ich echt beeindruckt.
Ich brauche es viiiel einfacher.
Die Frage ist halt nur, wie ich die thermostate über node-red in alexa bekomme. Ich brauche ja quasi pro thermostat mehrere zustände. Das ist mir irgendwie zu komplex gerade.Ich wäre ja schonmal gewillt den Adapter zu installieren. Dann wäre alles in ioB.
Dass man den MaxLink abschalten kann um dann in der Originalsoftware zu hantieren weiss ich. So mache ich das auch mit Homebridge, wenn da mal was geändert werden muss.
Nehmen wir mal an ich möchte über Node-red den Befehl "Temperatur auf 15 Grad stellen" haben....dieser soll dann über alexa steuerbar sein.
Das ist die einzige Schwierigkeit. Kann ja alles auf Auto bleiben. -
@marko1974 Also - so wie ich das verstehe nutzt Du doch Alexa bereits mit NodeRed. Wenn Du entweder die NodeRed für den MaxCube oder den MaxCube Adapter nutzt - kannst Du doch aus NodeRed entweder den Befehl direkt an den MaxCube schicken oder Du beschreibst mit einer iobroker out Node - den Datenpunkt zum Setzen der Temperatur des MaxCube Adapters.
Schau halt mal welche Datenpunkte Du nach Installation des MaxCube Adapters im iobroker hast. Die kannst Du alle über NodeRed beschreiben. Das Einzige wozu ich nichts sagen kann, wie Dein Kommando über Alexa in NodeRed empfangen wird.
Du kannst doch via NodeRed (wenn dies als Adapter im iobroker installiert ist) auf alle Objekte im iobroker lesend und schreibend zugreifen.
Wie gesagt NodeRed ist das geringste Problem zur Steuerung der Thermostate - wenn Du über Alexa die Kommandos bekommst.
Wie gesagt der MaxCube Adapter wird ja ein paar Infos die ich über fhem einsammle ja auch direkt zur Verfügung stehen
Und selbst wenn Du das nicht willst - kannst Du was Alexa in NodeRed sagt direkt in einen eigenen Datenpunkt schreiben und dann kannst Du doch wieder mit Blockly das Kommando bearbeiten - was Dir wahrscheinlich eher liegt.
Ich dachte Du hast Alexa schon in Node Red laufen - gibts da keine Möglichkeit neue Geräte mit eigenen Kommandos einzupflegen? Wahrscheinlich brauchst erst mal einen Alexa kundigen und da kann ich Dir halt nicht helfen.
-
@mickym@mickym Doch...irgendwie komme ich schon dahinter.
Meine bisherige Node-Red konfiguration ist eigentlich so, dass ich einen Namen für ein Gerät vergeben habe - dieser in einen Switch läuft und darüber ein Datenpunkt gesteuert wird. Über ein Blockly wird dann ein Befehl an eine Steckdose gesendet (Funk)
Das mal als kleinen Exkurs. So kann ich Alexa sagen:
Eingang Küche an. Der Datenpunkt geht auf true und über Blockly ein Befehl an die Funksteckdose gesendet. Funktioniert erstklassig.Jetzt zum Thema Thermostate.
Links müsste der Name des Thermostats stehen. z.b. Heizung Badezimmer, ganz rechts dann der Datenpunkt des MaxAdapters ...in diesem Fall settemp.
Nur was kommt in die Mitte...
Ich will quasi sagen Heizung Badezimmer auf 20 Grad. Dann müsste Alexa erstmal erkennen, dass sie nicht irgendwas auf an/aus setzen muss, sondern einfach eine Temperatur sendet.
Über Homebridge ist das toll gelöst. Sie antwortet dann auch nicht mit okay, sondern: Die Heizung im Badezimmer ist auf 20 Grad eingestellt.Ich will ja alles....ich bin auch sogar bereit diese Pro Lizenz zu bezahlen...aber wie ich gelsen habe, läuft es da mit den Thermostaten auch nicht so richtig mit AUTO und MANU...und dafür bin ich dann nicht bereit zu zahlen, wenn ich dann wieder nur was halbfertiges habe.
Also...node Red - nur wie. Da stehe ich voll auf dem Schlauch, weil ich mich mit diesem Ding gar nicht auskenne.
-
@marko1974 Du kannst doch einfach erst mal einen eigenen Datenpunkt unter 0_userdata.0 erstellen und dann direkt das was aus der Alexa Node rauskommt in diesem Datenpunkt schreiben. Dann kannst Du doch diese Informationen mit Blockly weiter bearbeiten, wenn das Deine präferierte Logikmaschine ist.
Wenn das ein Objekt ist, was aus der Alexa Node rauskommt, dann hänge eine Debug Node hinter die Alexa Node mit Ausgabe des kompletten Nachrichtenobjektes und poste den Inhalt des Debugfensters indem Du alles auf machst
-
Ich glaube nur dass diese Nodes, die Du nutzt nur zum Ein- und Ausschalten dienen - irgendwie kann man in der Alexa App irgendwo Rules oder so was definieren, welche Kommandos es empfängt - aber wie gesagt da bin ich überfragt.
Wenn das diese Node ist, die Du nutzt https://flows.nodered.org/node/node-red-contrib-amazon-echo
dann sollten ggf. auf Deutsch diese Kommandos funktionieren:
Eventuell - funktioniert dann stelle auf xx Grad usw.
-
@mickym am liebsten hätte ich so wenig Aufwand wie möglich.
Es geht übrigens nicht, wenn Maxcube schon mit dem Adapter dauerverbunden ist, den Node-red eigenen auch noch einzubinden. dann schmiert der Adapter ab.Der Adapter hat folgende Datenpunkte....ich hab ihn mal kurz verbunden:
Ich bräuchte dann einfach nur den Datenpunkt setpoint.
Wenn ich jetzt sage: Heizung Badezimmer auf 20 Grad, soll node-red den Befehl 20 an den Datenpunkt im Adapter senden. Mehr nicht.So nochmal:
Alexa -
@mickym said in MAX! Cube Blockly Abwesenheit:
Ich glaube nur dass diese Nodes, die Du nutzt nur zum Ein- und Ausschalten dienen - irgendwie kann man in der Alexa App irgendwo Rules oder so was definieren, welche Kommandos es empfängt - aber wie gesagt da bin ich überfragt.
Wenn das diese Node ist, die Du nutzt https://flows.nodered.org/node/node-red-contrib-amazon-echo
dann sollten ggf. auf Deutsch diese Kommandos funktionieren:
Eventuell - funktioniert dann stelle auf xx Grad usw.
Ja genau den nutze ich....und der funktioniert auch, entgegen vieler Aussagen hier im Forum, dass er es nicht macht.
Tja...das ist natürlich die Frage, ob das mit den "Grad" funktioniert.
Und.....so leid mir das tut.....ich weiss nicht wie ich das einrichte. Switch kann ich ja...aber nicht das mit der Temperatur
-
@marko1974 Ja das ist schon klar, dass die Node-Red Nodes und den Adapter nicht gleichzeitig nutzen kannst.
Also mach das mit der Debug Node - und dann musst Du halt mal das sagen, was ich Dir unten als Skills gepostet habe.
Scheint ja auch - dass wärmer oder so geht - also vielleicht versteht es Grad - ansonsten halt stelle auf 20 -
@marko1974 Du sollst die Debug Node hinter die Alexa Node hängen wie ich das unten beschrieben habe und das Debug Fenster posten, und dann was zur Alexa sagen und schauen ob was rauskommt und posten was rauskommt.
Also einfach mal ein paar von den Alexa skills probieren und dann die Ausgabe des Nodes posten.
-
@mickym Ja, das muss ich morgen bei den Eltern machen, da ich da jetzt gerade nicht bin. Könnte es vielleicht über die App versuchen.
Angefangen habe ich schonmal....nur wie würde das dann eventuell verbunden wenn es läuft.
-
@mickym hab jetzt den debug node stehen und er erkennt schonmal Bad als lampe.
Jetzt hab ich mal gesagt: Stelle Bad auf 20. Da kommt dann ein OK und folgender Debug11.11.2021, 01:49:00node: 7409b5eb.9cbf34 msg : Object { on: true, bri: 20, from: "::ffff:192.168.178.49", on_off_command: false, payload: "on" … }
-
@marko1974 Wenn da nur ein String rauskommt - kannst Du die beiden Nodes einfach direkt verbinden. Dann kann man die Ausgabe unverändert in den eigenen Datenpunkt schreiben und Du kannst mit Blockly weiterarbeiten.
Wenn da ein Objekt rauskommt musst ggf. noch eine json Node dazwischen schalten.
-
@marko1974 sagte in MAX! Cube Blockly Abwesenheit:
@mickym hab jetzt den debug node stehen und er erkennt schonmal Bad als lampe.
Jetzt hab ich mal gesagt: Stelle Bad auf 20. Da kommt dann ein OK und folgender Debug11.11.2021, 01:49:00node: 7409b5eb.9cbf34 msg : Object { on: true, bri: 20, from: "::ffff:192.168.178.49", on_off_command: false, payload: "on" … }
OK mit der JSON Node kannst Du dieses Objekt so in den Datenpunkt einfach schreiben und kannst mit Blockly weiter verarbeiten.
Du siehst dass die Node den Wert als 20 in der bri Eigenschaft nimmt (ist zwar als Brightness gedacht) aber das kann Dir ja egal sein.
Wenn Du den Wert gleich als 20 in Deinen Datenpunkt schreiben willst. dann hängst Du zwischen Deiner iobroker out Node - folgende Change Node:
Damit schreibst Du die 20 direkt in Deinen Datenpunkt
-
@mickym also wenn ich die direkt verbinde und sage stelle auf 20 springt der Datenpunkt auf on....aber nicht auf 20. Hab value und thermostat im datenpunkt ausgewählt gehabt
-
@marko1974 sagte in MAX! Cube Blockly Abwesenheit:
@mickym also wenn ich die direkt verbinde und sage stelle auf 20 springt der Datenpunkt auf on....aber nicht auf 20. Hab value und thermostat im datenpunkt ausgewählt gehabt
Habe ich ja gesehen anhand der Debug ausgabe. Entweder die JSON Node dazwischen dann schreibt er Dir den String in den eigenen Datenpunkt - dann kannst Du das im Blockly selbst einlesen und interpretieren. Dann sollte der eigene Datenpunkt String sein.
Oder Du nimmst die Change Node dazwischen - dann kann Dein eigener Datenpunkt Zahl oder String sein und Du schreibst direkt die 20 da rein.
Achte bei der Change Node darauf, dass Du das msg Objekt nimmst
-
@mickym Faszinierend....der Datenpunkt ist jetzt auf 20 .... Juchuuuu
Jetzt bin ich voll euphorisch....jetzt mache ich n Blockly?
-
@marko1974 Klar - bevor Du Dich mit NodeRed weiter rumplagst - nutze Dein Blockly. Immer wenn NodeRed was in Deinen Datenpunkt schreibt, triggert dann das Blockly und Du kannst die Temperatur mit Blockly weiter verarbeiten.
Das ist immer das was ich sage: Wenn man für alles, wofür es im iobroker keine Adapter gibt, NodeRed nutzen kann und dann einfach die Ausgabe in einen Datenpunkt schreibt und mit Blockly weiterarbeitet. Dann vergibt man sich zwar das tolle Produkt kennenzulernen und damit seine Logik zu implementieren - aber für Blockly Fans ist das das Einfachste um wieder in die vertraute Umgebung zu wechseln.
Ich bin aber bekannterweise NodeRed und kein BlocklyFan. Du könntest ja die 20 anstelle in den eigenen Datenpunkt auch gleich in den Datenpunkt des Thermostats speichern. (also entweder setpoint oder temp) - musst ja nur in der iobroker-out Node das Topic entsprechend ändern.
Wenn Du den Node-Red Adapter neu startest werden alle Datenpunkte neu eingelesen und Du kannst dann über die 3 Punkte wie im Blockly auch:
-
@mickym Da Du mir bei einem Projekt mit dem ich so viele Jahre verbracht habe....verschiedene Dinge wie openhab, homebridge und ähnliches probiert habe, würde ich mich jetzt an dich halten und bei Node-red bleiben.
Ich verlinke also nun direkt auf den Datenpunkt im Max und lösche meine eigenen wieder. Wozu noch der Umweg.
Nochmal zum Verständnis....das Thermostat wird auf AUTO bleiben und die Temperatur wird zum nächsten Zeitpunkt dann wieder mit dem im Thermostat gespeichertem Wert geändert.