Beiträge von mera

    Euere Programmierung hat mich auf eine Idee gebracht!
    Jedoch möchte ich keinen Bewegungsmelder verwenden. Der würde bei meinen Katzen ständig angehen.

    Ist es den auch möglich auch das Licht automatisch ausgehen zu lassen. z.B. 5 Min nach einem Anschaltbefehl?

    Ich habe es mal versucht, doch leider funktioniert es nicht. Vielleicht kann mir jemand erklären, was in meinem Skript nicht stimmt.

    schimmer-media.de/attachment/2499/

    porbiere mal so ;)

    schimmer-media.de/attachment/2500/

    Danke nochmal für das Script. Es läuft eigentlich alles bestens, mir ist nun aber folgende Meldung im Log aufgefallen:

    Code
    Wrong type of mqtt.0.tele.sonoff-bridge-01.Data: "string". Please fix, while deprecated and will not work in next versions.
    at JSONtoRF (script.js.Javascipte-Umwandlungen.Sonoff_Bridge_MQTT:11:5)
    at Object.<anonymous> (script.js.Javascipte-Umwandlungen.Sonoff_Bridge_MQTT:17:5)

    Ich habe eigentlich Dein Script 1zu1 übernommen, nur die Objekte sitzen an anderen Positionen.

    Soll ich das einfach ignorieren? Muss ich mir Sorgen zukünftig machen?

    Benutzt Du zwischenzeitlich Admin 3 im iobroker?

    Ich habe mein Script auch ein bisschen geändert.

    ################

    //{"RfReceived":{"Sync":12560,"Low":420,"High":1230,"Data":"D0FAAE","RfKey":"None"}}

    var idJSON = 'mqtt.0.tele.Sonoff_Bridge.RESULT'; // Datenpunkt-ID mit JSON-String

    var RFWert;

    function JSONtoRF(json) {

    var obj = JSON.parse(json);

    RFWert = obj.RfReceived.Data;

    var idJSON = 'mqtt.0.SENSOR'; // Datenpunkt-ID mit JSON-String

    var idRFWert = 'mqtt.0.Data';

    setState(idRFWert, RFWert);

    }

    JSONtoRF(getState(idJSON).val); // Script start

    //on(idJSON, function(dp) { // triggern bei Wertänderung

    // JSONtoRF(dp.state.val);

    //});

    on({id: "mqtt.0.tele.Sonoff_Bridge.RESULT"/*tele/Sonoff_Bridge/RESULT*/, change: "any"}, function (dp) {

    JSONtoRF(dp.state.val);

    });

    schimmer-media.de/attachment/2375/

    RAW sollte ungefähr so aussehen:

    {

    "from": "system.adapter.admin.0",

    "ts": 1515779237492,

    "common": {

    "name": "Data",

    "role": "variable",

    "type": "string",

    "desc": "funk",

    "def": "",

    "read": true,

    "write": true,

    "custom": {

    "sql.0": {

    "enabled": true,

    "changesOnly": true,

    "debounce": "",

    "retention": "31123000",

    "changesRelogInterval": "",

    "changesMinDelta": "",

    "storageType": ""

    }

    }

    },

    "native": {

    "topic": "tele/Sonoff_Bridge/Data"

    },

    "acl": {

    "object": 1636,

    "owner": "system.user.admin",

    "ownerGroup": "system.group.administrator",

    "state": 1636

    },

    "_id": "mqtt.0.Data",

    "type": "state"

    }

    Da bluefox (der, der den Sonoff-Adapter geschrieben hat) noch nicht die results der Bridge intrigiert hat, habe ich das RF-Signal über den MQTT-Adapter ausgelesen.

    Der MQTT-Adapter gibt dann ein result aus der etwa so aussieht.

    {"RfReceived":{"Sync":11890,"Low":390,"High":1210,"Data":"7AACF1","RfKey":"None"}}

    Diesen habe ich mit folgenden Script zerlegt.

    schimmer-media.de/attachment/214/

    schimmer-media.de/attachment/215/

    var idJSON = 'mqtt.0.tele.Sonoff_Bridge.RESULT'; // Datenpunkt-ID mit JSON-String

    var RFWert;

    function JSONtoRF(json) {

    var obj = JSON.parse(json);

    RFWert = obj.RfReceived.Data;

    var idJSON = 'mqtt.0.SENSOR'; // Datenpunkt-ID mit JSON-String

    var idRFWert = 'mqtt.0.Data';

    setState(idRFWert, RFWert);

    }

    JSONtoRF(getState(idJSON).val); // Script start

    on(idJSON, function(dp) { // triggern bei Wertänderung

    JSONtoRF(dp.state.val);

    });

    Dann nur noch ein Object unter mqtt.0 als Datenpunkt anlegen und der Wert ("7AACF1") wird ausgegeben.

    Danach kann das RF-Signal weiter verarbeitet werden.

    schimmer-media.de/attachment/217/

    schimmer-media.de/attachment/218/

    {

    "_id": "mqtt.0.Data",

    "type": "state",

    "common": {

    "name": "Data",

    "role": "",

    "type": "string",

    "desc": "funk",

    "def": "",

    "read": true,

    "write": true

    },

    "native": {},

    "from": "system.adapter.admin.0",

    "ts": 1315777750245,

    "acl": {

    "object": 1638,

    "owner": "system.user.admin",

    "ownerGroup": "system.group.administrator",

    "state": 1638

    }

    }

    schimmer-media.de/attachment/219/