Iobroker + node-red plugin Sonoff basic schalten

  • Guten Tag,


    seit einigen Tage habe ich einen iobroker bei mir laufen und benutze node-red (zumindest wollte ich das) zum steuern der Geräte wie z.b. Landroid und Sonof Basic (Tasmota) geräte.


    Ich habe nun schon einige Geräte mit den diversen Sonof Basic´s verbunden und kann Sie auch Steuern aber nun würde ich das ganze gerne auf einen Dashboard über node-Red machen, was mir bist dato noch nicht gelungen ist.



    [

    {

    "id": "41cdc206.2c262c",

    "type": "ui_switch",

    "z": "7249d4d3.275f0c",

    "name": "Wasserfall",

    "label": "Wasserfall",

    "group": "2c9b1c22.8f7a24",

    "order": 0,

    "width": 0,

    "height": 0,

    "passthru": false,

    "decouple": "false",

    "topic": "",

    "style": "",

    "onvalue": "ON",

    "onvalueType": "str",

    "onicon": "",

    "oncolor": "",

    "offvalue": "OFF",

    "offvalueType": "str",

    "officon": "",

    "offcolor": "",

    "x": 710,

    "y": 200,

    "wires": [

    [

    "26414842.159578"

    ]

    ]

    },

    {

    "id": "e4be37cb.369a48",

    "type": "mqtt in",

    "z": "7249d4d3.275f0c",

    "name": "",

    "topic": "sonoff.0.Pool Lampe.POWER",

    "qos": "2",

    "broker": "bd4d58be.da3d58",

    "x": 400,

    "y": 200,

    "wires": [

    [

    "41cdc206.2c262c"

    ]

    ]

    },

    {

    "id": "26414842.159578",

    "type": "mqtt out",

    "z": "7249d4d3.275f0c",

    "name": "",

    "topic": "sonoff.0.Pool Lampe.POWER",

    "qos": "",

    "retain": "",

    "broker": "bd4d58be.da3d58",

    "x": 1100,

    "y": 200,

    "wires": []

    },

    {

    "id": "2c9b1c22.8f7a24",

    "type": "ui_group",

    "z": "",

    "name": "Garten",

    "tab": "3fc0814e.548efe",

    "order": 1,

    "disp": true,

    "width": "6",

    "collapse": false

    },

    {

    "id": "bd4d58be.da3d58",

    "type": "mqtt-broker",

    "z": "",

    "name": "",

    "broker": "localhost",

    "port": "1883",

    "clientid": "",

    "usetls": false,

    "compatmode": true,

    "keepalive": "60",

    "cleansession": true,

    "birthTopic": "",

    "birthQos": "0",

    "birthPayload": "",

    "closeTopic": "",

    "closePayload": "",

    "willTopic": "",

    "willQos": "0",

    "willPayload": ""

    },

    {

    "id": "3fc0814e.548efe",

    "type": "ui_tab",

    "z": "",

    "name": "Sonoff Steckdosen",

    "icon": "dashboard",

    "order": 3

    }

    ]


    Ich komm einfach nicht wirklich weiter mehr :-(

  • Ich schaue mir das gerne morgen mal an, für mich ist heute schon zu spät.

    Ich denke mal, das es da eine Lösung gibt. Ich nutze selber ESPurna, und habe schon einiges unter Node Red am laufen.

  • Ich kann im Moment nicht nachvollziehen, woher du die Information hast: "sonoff.0.Pool Lampe.POWER"

    Für MQTT sollte es eher so aussehen: stat/Pool Lampe/POWER, bzw. cmnd/Pool Lampe/POWER


    Probiere mal damit:


    Eventuell hilft das ja schon.

    Falls nicht, zeige mal bitte deine MQTT Einstellungen im Sonoff Modul.

  • Hast du denn einen MQTT broker auf 192.168.178.31 am laufen?


    Anbei schon mal der geänderte Node-Red script.

  • Ich glaube bei mir im System ist eh was falsch.



    sonoff.0 2018-06-15 13:22:35.197 warn Client [mqtt_28a819d2.45ef06] has invalid password(undefined) or username(undefined)


    sobald ich die node-red Instanz anhalte, taucht der Fehler nicht mehr im Log auf.

  • Du brauchst auch noch einen MQTT-Broker,

    der kann auch auf dem Raspi installiert werden.


    Anleitungen gibt es im Netz, z.B hier: Mosquitto auf Raspberry installieren


    Da brauchst du eigentlich nur den ersten Schritt, dann sollte Mosquitto installiert sein.

    Zitat

    sudo apt-get install -y mosquitto mosquitto-clients

    In Node Red musst auch noch die Benutzereinstellungen ändern.


    neben dem Servername auf den Bleistift drücken zum editieren.

    Danach den Reiter Security aufrufen

    Da muss dann der Benutzername und das Passwort eingetragen werden.

  • Danke dir,


    ich habe nun per Putty das installiert.


    sudo apt-get install -y mosquitto mosquitto-clients


    Danach habe ich in der gleiche Putty Anmeldung das hier ausgeführt mosquitto_sub -h localhost -v -t test und in der neuen Putty Sitzung das hier mosquitto_pub -h localhost -t test -m "Hello world, Mosquitto" ausgeführt und da habe ich einen fehler bekommen.


    Benutzername und PW aus dein letzten Bild sind die vom Sonoff?

  • Eventuell muss der Raspberry neu gestartet werden.


    Normalerweise brauchst du kein Passwort, das kann man auf dem Raspberry einstellen.

    Muss man aber nicht.


    Warum jetzt gerade dein Log voll läuft, kann ich jetzt so nicht beurteilen.


    Du hast aber nur einen Sonoff im Moment am laufen, oder?


    Lösche doch mal den Benutzer, und das Passwort im Sonoff.

  • Danke es funktioniert nun.... Super vielen lieben dank.


    Ich habe da eine andere frage. Ich kann nun nur noch die Sonoff Geräte per node-red steuern und nicht mehr über mein homekit da ich nun eine Fehlermeldung bekomme von sonoff im log.



    host.raspberrypi 2018-06-15 14:37:22.909 info Restart adapter system.adapter.sonoff.0 because enabled
    host.raspberrypi 2018-06-15 14:37:22.909 error instance system.adapter.sonoff.0 terminated with code 0 (OK)
    Caught 2018-06-15 14:37:22.909 error by controller[0]: port: 1883 }
    Caught 2018-06-15 14:37:22.908 error by controller[0]: address: '0.0.0.0',
    Caught 2018-06-15 14:37:22.908 error by controller[0]: syscall: 'listen',
    Caught 2018-06-15 14:37:22.908 error by controller[0]: errno: 'EADDRINUSE',
    Caught 2018-06-15 14:37:22.908 error by controller[0]: code: 'EADDRINUSE',
    Caught 2018-06-15 14:37:22.908 error by controller[0]: at process._tickCallback (internal/process/next_tick.js:104:9)
    Caught 2018-06-15 14:37:22.908 error by controller[0]: at _combinedTickCallback (internal/process/next_tick.js:83:11)
    Caught 2018-06-15 14:37:22.907 error by controller[0]: at net.js:1417:9
    Caught 2018-06-15 14:37:22.907 error by controller[0]: at listen (net.js:1307:10)
    Caught 2018-06-15 14:37:22.907 error by controller[0]: at Server._listen2 (net.js:1271:14)
    Caught 2018-06-15 14:37:22.907 error by controller[0]: at exports._exceptionWithHostPort (util.js:1043:20)
    Caught 2018-06-15 14:37:22.907 error by controller[0]: at Object.exports._errnoException (util.js:1020:11)
    Caught 2018-06-15 14:37:22.906 error by controller[0]: { Error: listen EADDRINUSE 0.0.0.0:1883
    sonoff.0 2018-06-15 14:37:22.883 info terminating
    sonoff.0 2018-06-15 14:37:22.847 error at process._tickCallback (internal/process/next_tick.js:104:9)
    sonoff.0 2018-06-15 14:37:22.847 error at _combinedTickCallback (internal/process/next_tick.js:83:11)
    sonoff.0 2018-06-15 14:37:22.847 error at net.js:1417:9
    sonoff.0 2018-06-15 14:37:22.847 error at listen (net.js:1307:10)
    sonoff.0 2018-06-15 14:37:22.847 error at Server._listen2 (net.js:1271:14)
    sonoff.0 2018-06-15 14:37:22.847 error at exports._exceptionWithHostPort (util.js:1043:20)
    sonoff.0 2018-06-15 14:37:22.847 error at Object.exports._errnoException (util.js:1020:11)
    sonoff.0 2018-06-15 14:37:22.847 error Error: listen EADDRINUSE 0.0.0.0:1883
    sonoff.0 2018-06-15 14:37:22.845 error uncaught exception: listen EADDRINUSE 0.0.0.0:1883
    sonoff.0 2018-06-15 14:37:22.732 info starting. Version 2.1.3 in /opt/iobroker/node_modules/iobroker.sonoff, node: v6.14.2
  • Ich habe ja bei den Sonoff Wasserfall die Topic im Sonoff selbst angepasst so wie du mir das geschrieben hast und nun kann ich diesen Sonoff nicht mehr steuern und bekomme nur Fehler im Log vom iobroker.


    Der sonoff adapter wird nicht mehr grün sondern bleibt rot und ich habe nur das sonoff topic geändert am sonoff selber.

  • ich nutze auf meinen iobroker diesen Adapter hier: ioBroker.yahka Adapter-Einstellungen


    Bild 1 Sonoff Adapter: Username und PW ist das gleiche wie in den Sonoff Basic Adaptern




    Bild2: Sonoff Basic Adapter:



    User und PW ist das gleiche wie in Bild 1.


    Bild3: Endloschleife




    Die Konifg im Yahka ist leider nun leer da der Sonoff sich nicht mehr verbindet :-(

  • Ok, so wie ich verstehe, hast du den Sonoff adapter installiert.

    Damit habe ich noch keine Erfahrung sammeln können, ich steure meine Geräte normalerweise über externen MQTT, weil nicht nur "Sonoff" habe, sondern auch Eigenkonstruktionen.


    Ich schaue mir das aber gerne mal an.

    Brauche aber auch etwas Zeit dafür.


    Ich habe hier zum probieren auch einen Sonoff mit Tasmota.

    Ich bin aber mit Tasmota noch nie so richtig glücklich geworden.

    Ich benutze entweder ESPurna, oder auch manchmal ESP Easy, oder auch eigene Firmware, je nach Bedarf und Anwendung.