NEWS
[gelöst] Pimatic - Werte von externen socket.io oder webapi einlesen und senden?
-
Über die Api kann man hier nachlesen.
https://pimatic.org/guide/api/
Ich kann php, phyton und linux scripte abe rmit java steh ich echt auf kriegsfuß, sonnst würde ich meine hilfe anbieten.
als keine beispiel:
Rufe ich diese URL auf:
http://10.0.0.20/api/variables/EssZiThermostat.temperatureSetpoint/
bekomm ich das im Browser zurück:
{"variable":{"name":"EssZiThermostat.temperatureSetpoint","readonly":true,"type":"attribute","value":19.5,"unit":"°C"},"success":true}
Ich hab mich mal mit dem parser daran versucht der will aber nicht.
Auf der anderen seite ist das ganze ja fast wie die tv-spielfilm Anbindung in iobroker.
Ich kann gerne mehr zur verfügung stellen.
Ein pimatic Conecctor ähnle dem FEHM connector wär natürlich super.
-
Über die Api kann man hier nachlesen.
https://pimatic.org/guide/api/
Ich kann php, phyton und linux scripte abe rmit java steh ich echt auf kriegsfuß, sonnst würde ich meine hilfe anbieten.
als keine beispiel:
Rufe ich diese URL auf:
http://10.0.0.20/api/variables/EssZiThermostat.temperatureSetpoint/
bekomm ich das im Browser zurück:
{"variable":{"name":"EssZiThermostat.temperatureSetpoint","readonly":true,"type":"attribute","value":19.5,"unit":"°C"},"success":true}
Ich hab mich mal mit dem parser daran versucht der will aber nicht.
Auf der anderen seite ist das ganze ja fast wie die tv-spielfilm Anbindung in iobroker.
Ich kann gerne mehr zur verfügung stellen.
Ein pimatic Conecctor ähnle dem FEHM connector wär natürlich super. `
Für ioBroker ist natürlich websocket-API interessant.Aber ich muss vermutlich RESTful und Socket IO benutzen.
was kriegst du wenn du
http://10.0.0.20/api/variables http://10.0.0.20/api/devices http://10.0.0.20/api/groups
aufrufst?
Damit kann ich alle Geräte, Variablen und Gruppen extragieren und dann mit socket IO die Ereignisse über die Änderungen bekommen.
Du kannst auch an dogafox at gmail.com senden.
-
Schick dir nachher gerne mal alles per Email.
Muss(darf) jetzt erstmal mit Frau ins Kino
will hier den Thread nich so aufblasen.
-
Hi Bluebox,
Email ist raus.
wenn ich irgend wie noch helfen kann gib bescheid.
-
Ich habe die erste Version implementiert.
Was ich von dir eventuell brauche, das ist die minimale config.json für pimatic mit ein paar Geräten:
-
temperatrue,
-
humidity,
-
switch
So dass da keine private Daten drin stehen. Damit ich spielen kann und die automatische Tests schreiben kann.
Die Geräte dann in einer Gruppe und auf einer Seite zuhaben, ist auch währe nicht schlecht.
https://github.com/ioBroker/ioBroker.pimatic
cd /opt/iobroker npm i https://github.com/ioBroker/ioBroker.pimatic/tarball/master --production iobroker add pimatic
-
-
Hi Bluefox
so schnell hät ich nicht mit nem Adapter gerechnet echt klasse.
Der Pimatic Adapter läuft zumindest soweit das ich alle Geräte und deren Werte im iobroker habe.
Der Adapter verbindet nur nicht zu Pimatic und die werte werden nicht aktualisiert. (Siehe Bild)
Ich untersuch das mal genauer. Hab auch festgesetellt das die setpoints der Thermostaten nicht passen in den Zuständen. (siehe Bild 2)
Ich geb bescheid wenn ich rausgefunden hab warum.
2344_pimatic_adapter.png
2344_zustaende.png -
Hi Bluefox
so schnell hät ich nicht mit nem Adapter gerechnet echt klasse.
Der Pimatic Adapter läuft zumindest soweit das ich alle Geräte und deren Werte im iobroker habe.
Der Adapter verbindet nur nicht zu Pimatic und die werte werden nicht aktualisiert. (Siehe Bild)
Ich untersuch das mal genauer. Hab auch festgesetellt das die setpoints der Thermostaten nicht passen in den Zuständen. (siehe Bild 2)
Ich geb bescheid wenn ich rausgefunden hab warum. `
Verbindung ist da, sonst wird man überhaupt nichts sehen.Ich habe nur Status falsch upgedatet.
Kannst du noch mal vom git updaten?
-
Hi Bluefox
hab ein update gemacht:
npm i https://github.com/ioBroker/ioBroker.pimatic/tarball/master --production
Files haben neues Datum:
effekt bleib aber der selbe?
Und noch eine Anmerkung.
Ich weiß nicht wie der iobroker draufkommt bei den Thermostaten gibt es einen "valve" Wert in % der ist als humidty bezeichnet, entspricht aber der Ventielöffnung in %
das ist aber jetzt erstmal noch unwichtig.
Kann ich was tun in einer Dateien, um den fehler mit dem Status zufinden in welcher muss ich da suchen.
Den Code kann ich grundlegen schon lesen.
Gruß Andreas
2344_pimatic.jpg -
hab ein update gemacht:
Code: Alles auswählen
npm i https://github.com/ioBroker/ioBroker.pi … all/master --production
Files haben neues Datum:
effekt bleib aber der selbe? `
hast du mal ein upload gemacht?cd /opt/iobroker iobroker stop pimatic iobroker upload pimatic iobroker start pimatic
ggf. mit sudo
Gruß
Rainer
-
grad gemacht
root@ioBroker-RasPi:~# cd /opt/iobroker root@ioBroker-RasPi:/opt/iobroker# iobroker stop pimatic Adapter "pimatic.0 stopped. root@ioBroker-RasPi:/opt/iobroker# iobroker upload pimatic got /opt/iobroker/node_modules/iobroker.pimatic/admin upload [1] pimatic.admin /opt/iobroker/node_modules/iobroker.pimatic/admin/pimatic.png pimatic.png image/png upload [0] pimatic.admin /opt/iobroker/node_modules/iobroker.pimatic/admin/index.html index.html text/html root@ioBroker-RasPi:/opt/iobroker# iobroker start pimatic Adapter "pimatic.0 started.
ergebniss das selbe.
hab ich das update falsch gemacht?
-
grad gemacht
root@ioBroker-RasPi:~# cd /opt/iobroker root@ioBroker-RasPi:/opt/iobroker# iobroker stop pimatic Adapter "pimatic.0 stopped. root@ioBroker-RasPi:/opt/iobroker# iobroker upload pimatic got /opt/iobroker/node_modules/iobroker.pimatic/admin upload [1] pimatic.admin /opt/iobroker/node_modules/iobroker.pimatic/admin/pimatic.png pimatic.png image/png upload [0] pimatic.admin /opt/iobroker/node_modules/iobroker.pimatic/admin/index.html index.html text/html root@ioBroker-RasPi:/opt/iobroker# iobroker start pimatic Adapter "pimatic.0 started.
ergebniss das selbe.
hab ich das update falsch gemacht? `
Ja. Falsch.Richtig ist so:
cd /opt/iobroker iobroker stop pimatic npm i https://github.com/ioBroker/ioBroker.pimatic/tarball/master --production iobroker upload pimatic iobroker start pimatic
-
Hallo Bluefox
@Bluefox:Ja. Falsch. `
bin mir da nicht sicher, dass er das falsch gemacht hat, er hat erst das update (siehe weiter oben) und dann nochmal getrennt den upload gemacht.Das müsste doch auch klappen, oder?
Gruß
Rainer
-
OK ergebnis das selbe:
root@ioBroker-RasPi:/opt/iobroker# iobroker stop pimatic Adapter "pimatic.0 stopped. root@ioBroker-RasPi:/opt/iobroker# npm i https://github.com/ioBroker/ioBroker.pimatic/tarball/master --production iobroker.core@0.1.0 /opt/iobroker └── iobroker.pimatic@0.1.0 root@ioBroker-RasPi:/opt/iobroker# iobroker upload pimatic got /opt/iobroker/node_modules/iobroker.pimatic/admin upload [1] pimatic.admin /opt/iobroker/node_modules/iobroker.pimatic/admin/pimatic.png pimatic.png image/png upload [0] pimatic.admin /opt/iobroker/node_modules/iobroker.pimatic/admin/index.html index.html text/html root@ioBroker-RasPi:/opt/iobroker# iobroker start pimatic Adapter "pimatic.0 started. root@ioBroker-RasPi:/opt/iobroker#
status bleibt gleich.
-
Habe paar Fehler gefunden. Bitte noch mal probieren.
-
Nach eine rneuinstallation des kompletten pimatic adapters siehts besser aus.
startet immer wieder neu aber im log kommen folgende meldungen:
pimatic.0 2017-03-13 20:44:46.009 error at Socket. (/opt/iobroker/node_modules/iobroker.pimatic/main.js:501:52) pimatic.0 2017-03-13 20:44:46.009 error ReferenceError: device is not defined pimatic.0 2017-03-13 20:44:46.008 error uncaught exception: device is not defined pimatic.0 2017-03-13 20:44:20.334 warn Device "82024" was found in the group "Sensoren", but not found in devices pimatic.0 2017-03-13 20:44:20.187 info connected pimatic.0 2017-03-13 20:44:18.327 info starting. Version 0.1.0 in /opt/iobroker/node_modules/iobroker.pimatic, node: v6.10.0 host. 2017-03-13 20:44:18.269 info States connected to redis 127.0.0.1:6379 host.ioBroker-RasPi 2017-03-13 20:44:16.146 info instance system.adapter.pimatic.0 started with pid 5479
Gibt es irgendwo einen Winkel wo ich die ID suchen kann um rauszufinden was der genau für ein Device meint
Edit :
oh du hast noch was gemacht dasnn muss ich vermutlich auchnochmal drüber.
mach ich nachher gleich.
EDIT2: 20:54 Uhr
scheint zu laufen.
werte kommen rein und updaten sich auch wenn sich was ändert.
ich schau mir mal dieses changeTemperaturTo genauer an
das klappt noch nich ganz aber pimatic registriet es.
-
So ich hab das websocket mitgelogged
Pimatic websocket Log
22:51:18.507
3 1
22:51:18.516
42["messageLogged",{"level":"error","msg":"Could not find action "changeTemperatureTo".","meta":{"timestamp":"2017-03-13T21:51:35.268Z","tags":["pimatic"]}}] 159
22:51:34.933
2 1
22:51:43.517
3 1
22:51:43.528
42["deviceAttributeChanged",{"deviceId":"WoZiThermostat","attributeName":"synced","time":1489441904670,"value":false}] 118
22:51:44.322
42["variableValueChanged",{"variableName":"WoZiThermostat.synced","variableValue":false}] 89
22:51:44.345
42["deviceAttributeChanged",{"deviceId":"WoZiThermostat","attributeName":"temperatureSetpoint","time":1489441904679,"value":19}] 128
22:51:44
42["deviceAttributeChanged",{"deviceId":"WoZiThermostat","attributeName":"synced","time":1489442367383,"value":false}] 118
22:59:27.058
42["variableValueChanged",{"variableName":"WoZiThermostat.synced","variableValue":false}] 89
22:59:27.078
42["deviceAttributeChanged",{"deviceId":"WoZiThermostat","attributeName":"temperatureSetpoint","time":1489442367391,"value":20}] 128
22:59:27.080
42["variableValueChanged",{"variableName":"WoZiThermostat.temperatureSetpoint","variableValue":20}]
Der Rote Teil ist wenn ich im iobroker etwas ändere an dem Setpoint
Log aus iobrocker websocket:
42["stateChange","pimatic.0.devices.WoZiThermostat.temperatureSetpoint",{"val":20,"ack":false,"ts":1489442465881,"q":0,"from":"system.adapter.admin.0","lc":1489442367391}]
der schwarze Teil ist eine Änderung im Pimati Frontend.
Der Grüne Teil ist ein aufruf dieser URL
http://10.0.0.20/api/device/WoZiThermos … etpoint=20
vielleicht hilft das noch etwas weiter.
ich schau mir als nächstet mal den schalter an ob hier ein update klappt.
Viele Grüße
PS: echt klasse forum und Respekt BlueFox für die schnelle hilfe hier.
-
Heist es, dass es alles außer
Could not find action "changeTemperatureTo"
geht?
-
Guten Morgen Bluefox,
das auslesen der werte klappt.
Er behällt die Verbindung und Updatet die Werte direkt.
Sprich wenn ich einen Wert in Pimatic ändere oder dort ein Wert upgedatet wird.
Seh ich direkt den neuen Wert im iobroker.
Lediglich die update Funktion( iobroker zu pimatic) klappt nicht.
Hier meldet Pimatic z.B. could not find action "changeStateTo" beim Schalter
oder could not find action "changeTemperatureTo" beim Thermostat
Siehe hierzu die WebSocket loggs.
Ich wollte eigentlich irgendwie debuggen wie der Update befehl rausgeht und vermute das URL change anders ist als über websocket.
Grüße
-
Ich hab mal noch etwas gestöbert.
Hier ein Link mit den ganzen actions:
https://github.com/pimatic/pimatic/blob … offee#L187
Im Forum habe ich das gefunden:
EDIT: I’m testing this out, but pimatic doesn’t seem to do anything with the request. The socket does not return any errors, and in the pimatic logs nothing shows up. I’m sending this JSONObject over the socket: {“id”:“callAction”,“action”:“callDeviceAction”,“params”:{“deviceId”:“lamp”,“actionName”:“changeStateTo”,“state”:true}}
Link zum gefunden: https://forum.pimatic.org/topic/864/exe … ebsocket/6
Ich hoffe das hilft dir etwas.
-
Ich habe nicht geschafft über socket das Wert upzudaten. Über RESTapi geht. Bitte ausprobieren.