NEWS
[Projekt] ioGo # Smarthome to go 2.0
-
bitte sehr (ist nur einer rausgepickt).
Ist es egal ob das Objekt einen Raum/Funktion zugewiesen hat oder nicht?{ "type": "state", "common": { "def": 0, "type": "number", "read": true, "write": true, "min": 0, "max": 6, "states": { "0": "SATURDAY", "1": "SUNDAY", "2": "MONDAY", "3": "TUESDAY", "4": "WEDNESDAY", "5": "THURSDAY", "6": "FRIDAY" }, "mobile": { "admin": {} } }, "native": { "DEFAULT": 0, "FLAGS": 1, "ID": "DECALCIFICATION_WEEKDAY", "MAX": 6, "MIN": 0, "OPERATIONS": 7, "TAB_ORDER": 8, "TYPE": "ENUM", "UNIT": "", "VALUE_LIST": [ "SATURDAY", "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY" ] }, "from": "system.adapter.hm-rpc.0", "ts": 1521568023696, "_id": "hm-rpc.0.MEQ1234567.1.DECALCIFICATION_WEEKDAY", "acl": { "object": 1636, "state": 1636 }, "enums": {}, "children": [], "user": "system.user.admin" }
-
@echoDave es sollte eine Funktion/Raum zugewiesen sein. Sonst ist der State uninteressant für den Adapter.
Der State sollte in obj.common.states etwas auffälliges haben.
Der eigentliche Value ist nicht wichtig.So in etwa, wobei ich nicht sicher sagen kann dass " == undefined" komplett richtig ist.
$('state[id=*]').each(function (id, i) { var obj = getObject(id); if(obj.common.states == undefined) { log(id+' hat den wert: '+value); } });
-
ich hätte so etwas erwartet oder ähnlich:
...
"states": "",
...{ "type": "state", "common": { "def": 0, "type": "number", "read": true, "write": true, "min": 0, "max": 6, "states": "", "mobile": { "admin": {} } }, "native": { "DEFAULT": 0, "FLAGS": 1, "ID": "DECALCIFICATION_WEEKDAY", "MAX": 6, "MIN": 0, "OPERATIONS": 7, "TAB_ORDER": 8, "TYPE": "ENUM", "UNIT": "", "VALUE_LIST": [ "SATURDAY", "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY" ] }, "from": "system.adapter.hm-rpc.0", "ts": 1521568023696, "_id": "hm-rpc.0.MEQ1234567.1.DECALCIFICATION_WEEKDAY", "acl": { "object": 1636, "state": 1636 }, "enums": {}, "children": [], "user": "system.user.admin" }
-
Ich glaube ich habe es jetzt mit folgendem Script rausgefunden, funktioniert nach dem löschen des Leeren States jetzt jedenfalls:
$('state[id=*]').each(function (id, i) { var states = getObject(id).common.states; if(typeof states == 'string') { log ("ID: "+id+" . state: "+states); } });
wie du vermutet hast wars ein "states":"" doch bei einem manuell erstelltem State.
Wie läuft die Kommunikation jetzt mit dem Adapter, über Server von dir? Falls ja wie schaut es mit der Sicherheit aus also Verschlüsselung?
Kann ich mit einem Account bei ioGo auf zwei Handys haben?
Viele Grüße, David
-
@echoDave sagte in [Projekt] ioGo # Smarthome to go 2.0:
Ich glaube ich habe es jetzt mit folgendem Script rausgefunden, funktioniert nach dem löschen des Leeren States jetzt jedenfalls:
$('state[id=*]').each(function (id, i) { var states = getObject(id).common.states; if(typeof states == 'string') { log ("ID: "+id+" . state: "+states); } });
wie du vermutet hast wars ein "states":"" doch bei einem manuell erstelltem State.
Cool, es sind meistens die manuell angelegten States
Wie läuft die Kommunikation jetzt mit dem Adapter, über Server von dir? Falls ja wie schaut es mit der Sicherheit aus also Verschlüsselung?
Es sind nicht meine Server. Es ist Infrastruktur von Google. Genau gesagt: https://firebase.google.com/
Kann ich mit einem Account bei ioGo auf zwei Handys haben?
Ja
-
danke
-
@nis
paar kleine Verbesserungen zu der App fallen mir nach zwei Tagen auf(meistens rund um Nachrichten).
- Android Benachrichtigungen muss man aktiv wegwischen damit sie verschwinden, klicke ich die nur an bleiben diese stehen.
- Bei Nachrichten einen Knopf "Alle Nachrichten löschen" oder noch besser eine Einstellung in der man sagen kann Nachrichten nach x Zeit löschen".
- Werden Bilder als Nachricht geschickt wäre es cool wenn man das Bild anklicken könnte um es im fullscreen sich anzuschauen/zoomen zu können.
- Bei Datenpunkten (vor allem Dimmer also wo Slider zur Werteinstellung angezeigt wird) gibts eine Überlappung mit dem eigentlichen Wert
Sonst muss ich sagen funktioniert die App und der Adapter bislang sehr gut. Betreibe jetzt einen Parallelbetrieb und lasse mit Nachrichten per ioGO und Telegram schicken, also oft ist sogar ioGo schneller da.
Allgemein ist es sehr komfortabel das Heim Mobil steuern zu können, ohne großen Aufwand in die Virtualisierung (wie es bei vis wäre) stecken zu müssen.
Ansonsten wäre es auch Top wenn man in der Adapterconfig eine Art Blacklist einführen könnte in der ich enums oder Objekte von der Übertragung in die App ausschließe.
Hintergrund: Ich habe einige Scripte am laufen die dynamisch Objekte in Abhängigkeit zueinander steuern. Deshalb habe ich auch ein paar "technische" enums diese brauche ich in der App im Prinzip nicht, die stören nur.Viele Grüße, David
-
@echoDave Vielen Dank für das Feedback. Da ist sehr viel dabei was ich gerne umsetze. Aktuell bin ich noch an dem doch leider sehr kompliziertem Thema "Geofence" dran, hoffe das läuft bald einigermaßen.
-
Ok Vielen Dank für die Rückmeldung, falls du Tester brauchst sag bescheid!
-
Ich habe mir heute etwas zu Weihnachten gegönnt und einen Accountzugang bekauft. Habe mir gedacht, dass ich über die Feiertage etwas "basteln" kann.
Der Adapter wird mit den Zugangsdaten grün und der Log sieht auch gut aus(iogo.0 2019-12-21 18:10:41.641 info (11504) licence key found. licence valid until 2020-12-20 13:45:41 )
Mit der App (2.0.12) komme ich leider gar nicht klar.
Meine IoGo Daten habe ich eingegeben. Im Infobildschirm steht: IoGo: iogo - connected
Nach sycc objects tit sich gar nichts.. Alle Datenbankwerte stehen auf 0.
Gibt es hier einen Trick?Gruß Ralf
-
@DocGame Kannst du bitte ein paar mehr Infos zu deinem System schreiben... Hast du Funktionen und/oder Räume angelegt? Sind dort States zugeordnet?
-
@nis Hier mal einige Bilder:
-
@DocGame Wie hast du den Adapter installiert? Hast du die Version aus dem latest oder stable repository genommen? Oder ist das eine Version direkt aus GitHub?
-
@nis Ich habe den Adapter von Github und die stable repository probiert... Immer das selbe.
-
@DocGame die GitHub Version wird nicht gehen. Nimm bitte eine offizielle Version aus stable/latest und poste das Log vom Start der Instanz.
-
@nis Hier der Log:
2019-12-22 11:32:57.668 - info: host.IOBroker(SmartHome) instance system.adapter.iogo.0 started with pid 23344 2019-12-22 11:33:00.082 - debug: iogo.0 (23344) Redis Objects: Use Redis connection: 127.0.0.1:9001 2019-12-22 11:33:00.129 - debug: iogo.0 (23344) Objects client ready ... initialize now 2019-12-22 11:33:00.138 - debug: iogo.0 (23344) Objects create PubSub Client 2019-12-22 11:33:00.139 - debug: iogo.0 (23344) Objects client initialize lua scripts 2019-12-22 11:33:00.159 - debug: iogo.0 (23344) objectDB connected 2019-12-22 11:33:00.162 - debug: iogo.0 (23344) Redis States: Use Redis connection: 127.0.0.1:9000 2019-12-22 11:33:00.167 - debug: iogo.0 (23344) Objects connected to redis: 127.0.0.1:9001 2019-12-22 11:33:00.179 - debug: iogo.0 (23344) States create PubSub Client 2019-12-22 11:33:00.180 - debug: iogo.0 (23344) statesDB connected 2019-12-22 11:33:00.199 - debug: iogo.0 (23344) States connected to redis: 127.0.0.1:9000 2019-12-22 11:33:00.357 - info: iogo.0 (23344) starting. Version 0.4.17 in C:/Program Files/iobroker/SmartHome/node_modules/iobroker.iogo, node: v10.17.0 2019-12-22 11:33:00.471 - info: iogo.0 (23344) triggered listener removed 2019-12-22 11:33:01.129 - info: iogo.0 (23344) licence key found. licence valid until 2020-12-20 13:45:41 2019-12-22 11:33:01.129 - info: iogo.0 (23344) logged in as: XXXXXXXXXXXXXXXXXXXXX <= please keep this uid as your secret 2019-12-22 11:33:01.140 - info: iogo.0 (23344) initialize app devices 2019-12-22 11:33:01.828 - info: iogo.0 (23344) device c-m1q6RyiHE captured 2019-12-22 11:33:01.829 - info: iogo.0 (23344) device eB-OoFFaDeQ captured 2019-12-22 11:33:01.830 - info: iogo.0 (23344) calcDeviceAlive is: false all devices {"iogo.0.c-m1q6RyiHE.alive":false} 2019-12-22 11:33:01.830 - info: iogo.0 (23344) calcDeviceAlive is: true all devices {"iogo.0.c-m1q6RyiHE.alive":false,"iogo.0.eB-OoFFaDeQ.alive":true} 2019-12-22 11:33:01.889 - info: iogo.0 (23344) checksummap geladen 2019-12-22 11:33:01.890 - info: iogo.0 (23344) uploading host 2019-12-22 11:33:01.891 - info: iogo.0 (23344) uploading instance 2019-12-22 11:33:01.892 - info: iogo.0 (23344) uploading enum 2019-12-22 11:33:01.893 - info: iogo.0 (23344) uploading state 2019-12-22 11:33:01.910 - info: iogo.0 (23344) uploading adapter 2019-12-22 11:33:02.426 - info: iogo.0 (23344) device update received: {"alive":false,"batteryCharging":true,"batteryLevel":92,"token":"c-m1q6RyiHE:APA91bFMrV8yhAQ_R2OQoNCn8evfAWAXWUnYyucur8W95y4Lf5aHDwc8wNkQKcf5NlryB0I0MLGalSVhDL6IaKyw7QbAM6se2zpW-Wy2ygWj7kw7RTLFt89CW77mhz2nfiW8C-B3WMIv","ts":1577009651543} 2019-12-22 11:33:02.430 - info: iogo.0 (23344) device update received: {"alive":true,"batteryCharging":false,"batteryLevel":86,"name":"S10+","token":"eB-OoFFaDeQ:APA91bEBKaLh0YqovhdAqTpJCm3qmI-FswOMeAxf1TlNP-5hApZPG4kCp8RoxzCTJTk_X8Z8T6W4IkK8bZVhC2H1jniC7-Zho1-E9ijMllB97KsgUdHYc9MmK5MdPG0ssu6IL8RDLvNn","ts":1576962806545} 2019-12-22 11:33:02.977 - debug: iogo.0 (23344) uploading host start 2019-12-22 11:33:02.986 - debug: iogo.0 (23344) uploading host end 2019-12-22 11:33:03.004 - debug: iogo.0 (23344) uploading instance start 2019-12-22 11:33:03.008 - debug: iogo.0 (23344) uploading instance: system_adapter_iogo_0 2019-12-22 11:33:03.015 - debug: iogo.0 (23344) uploading instance end 2019-12-22 11:33:03.024 - debug: iogo.0 (23344) uploading enum start 2019-12-22 11:33:03.031 - debug: iogo.0 (23344) uploading enum end 2019-12-22 11:33:03.032 - info: iogo.0 (23344) uploading values 2019-12-22 11:33:03.313 - debug: iogo.0 (23344) uploading state start 2019-12-22 11:33:03.322 - info: iogo.0 (23344) custom found for id:shelly.0.SHSW-1#4A595C#1.Relay0.Switch 2019-12-22 11:33:03.327 - info: iogo.0 (23344) custom found for id:zigbee.0.00158d0002d40924.left_click 2019-12-22 11:33:03.327 - info: iogo.0 (23344) custom found for id:zigbee.0.7cb03eaa0a050960.state 2019-12-22 11:33:03.328 - info: iogo.0 (23344) custom found for id:linkeddevices.0.Kinderdecke.brightness 2019-12-22 11:33:03.328 - info: iogo.0 (23344) custom found for id:linkeddevices.0.Kinderdecke.state 2019-12-22 11:33:03.332 - debug: iogo.0 (23344) uploading state end 2019-12-22 11:33:03.337 - debug: iogo.0 (23344) uploading adapter start 2019-12-22 11:33:03.344 - debug: iogo.0 (23344) uploading adapter end 2019-12-22 11:33:03.356 - debug: iogo.0 (23344) instance system.adapter.telegram.0.alive updated successfully 2019-12-22 11:33:03.357 - debug: iogo.0 (23344) instance system.adapter.telegram.0.connected updated successfully 2019-12-22 11:33:03.602 - debug: iogo.0 (23344) instance system.adapter.telegram.0.memRss updated successfully 2019-12-22 11:33:03.603 - debug: iogo.0 (23344) instance system.adapter.telegram.0.memHeapTotal updated successfully 2019-12-22 11:33:03.604 - debug: iogo.0 (23344) instance system.adapter.telegram.0.memHeapUsed updated successfully 2019-12-22 11:33:03.803 - debug: iogo.0 (23344) uploading values start 2019-12-22 11:33:03.817 - debug: iogo.0 (23344) uploading state values 2019-12-22 11:33:03.836 - debug: iogo.0 (23344) uploading instance values 2019-12-22 11:33:03.847 - debug: iogo.0 (23344) uploading host values 2019-12-22 11:33:03.849 - debug: iogo.0 (23344) uploading values end 2019-12-22 11:33:03.854 - debug: iogo.0 (23344) instance system.adapter.linkeddevices.0.alive updated successfully 2019-12-22 11:33:03.855 - debug: iogo.0 (23344) instance system.adapter.linkeddevices.0.connected updated successfully 2019-12-22 11:33:03.856 - debug: iogo.0 (23344) instance system.adapter.linkeddevices.0.memRss updated successfully 2019-12-22 11:33:03.857 - debug: iogo.0 (23344) instance system.adapter.linkeddevices.0.memHeapTotal updated successfully 2019-12-22 11:33:03.858 - debug: iogo.0 (23344) instance system.adapter.linkeddevices.0.memHeapUsed updated successfully 2019-12-22 11:33:03.998 - info: iogo.0 (23344) database initialized with 67 state values 2019-12-22 11:33:04.071 - info: iogo.0 (23344) database initialized with 32 instance values 2019-12-22 11:33:04.074 - info: iogo.0 (23344) database initialized with 1 host values 2019-12-22 11:33:05.104 - debug: iogo.0 (23344) instance system.adapter.admin.0.memHeapTotal updated successfully
-
@DocGame Und wie sieht es nun in der App aus? Was passiert wenn du dort in der "Info" Ansicht den Button "Sync Objects" klickst?
-
@nis Jetzt habe ich wieder den Zustand, den ich heute nacht schon mal hatte. Da ging es auch kurz. Nach umschalten des Servers ioBroker.iogo auf ioBroker.web war die Datenbank wider leer und nichts ging mehr. Im Moment geht es.
Allerdings sieht es nach viel Arbeit aus. Ich habe mit der Visualisierung auf dem Handy mit Material angefangen. Das hat super geklappt, wurde aber leider nicht weiter verfolgt. Dann ist IQontrol gekommen und hiermit ist ebenfalls gut zu arbeiten. ich bin davon ausgegangen, das du ebenfalls den vergebenen Name der jeweiligen ID für die States verwenden würdest. So wie es aussieht geschied dies ja leider nicht. Ich habe hunderte von Geräten, was ein editieren jedes States für mich quasi unmöglich macht. Gibt es hier noch einen Trick?
-
@DocGame Schön dass die Verbindung nun klappt. Ein ständiger Wechsel zwischen den Adaptern iogo/web ist nicht sinnvoll. Die App nutzt zur Anzeige den obj.common.name des State. Wie sieht das RAW von einem deiner States aus?
-
@nis Das mit dem Wechseln habe ich ja nur zu Testzwecken gemacht.
Da der Screenshot von Fenstersensoren war schicke ich dir mal 2 RAWs von Fenstersensoren. Ca 30 von denen habe ich noch an Mi-Hubs hängen. Mit diesen werde ich nach und nach auf den Zigbee-Adapter umziehen, nachdem ich den neuen CC1352P-2 am laufen habe.
Fenstersensor MiHome-Adapter:{ "from": "system.adapter.mihome.0", "user": "system.user.admin", "ts": 1567094089506, "common": { "name": "TS Bürofenster", "icon": "/icons/sensor_magnet_aq2.png" }, "native": { "sid": "158d00023709d9", "type": "sensor_magnet.aq2" }, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "_id": "mihome.0.devices.magnet_158d00023709d9", "type": "channel" }
Fenstersensor Zigbee-Adapter:
{ "from": "system.adapter.zigbee.0", "user": "system.user.admin", "ts": 1576681290185, "common": { "name": "TS Wohnzimmer hinten rechts", "type": "lumi.sensor_magnet.aq2", "icon": "img/sensor_magnet_aq2.png" }, "native": { "id": "00158d0003e748be" }, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "_id": "zigbee.0.00158d0003e748be", "type": "device" }
Ich könnte dir auch noch Deconz, MQTT, Yelight usw. schicken..... denke aber, das die Problematik immer die selbe ist.