Seite 1 von 2

Openhab Dimmer Simatic funktioniert nicht

Verfasst: 15. Nov 2019 17:34
von th3elk
Halo zusammen,

ich bin neu hier und arbeite mich gerade in openHAB ein. Als Basissteuerung läuft bei mir eine S7-1500, die mit folgendem Binding an openHAB angebunden ist: https://github.com/docbender/openHAB-Simatic

Das funktioniert soweit sehr gut. Ich habe bereits die Fensterkontakte und Rolladensteuerung problemlos in openHAB integriert. Nun wollte ich meine dimmbaren Lampen einbinden und habe dafür ein Item vom Typ Dimmer verwendet. Dies ist folgendermaßen definiert:

Code: Alles auswählen

 Dimmer          Test_Licht             "test licht [%d]"      <light>   (gLicht) {simatic="plc:DB100.DBB54:byte:io", autoupdate="false"} 

Mein Problem ist nun, dass wenn ich den Wert in der S7 ändere, wird der Anzeigewert in openHAB aktualisiert, jedoch nicht die Position des Sliders. Dieser ist in der Sitemap folgendermaßen definiert:

Code: Alles auswählen

 Group item=gLicht 

Das ist erstmal nur unschön. Mein größtes Problem ist, dass openHAB keine Werte an die S7 sendet. Wenn ich den Slider verschiebe, ändert sich in der S7 nichts. In den Log-Dateien kann ich aber sehen, dass der Wert von openHAB angenommen wurde.

Außerdem hätte ich erwartet, dass ich analog zum Rollershutter Item auch ein Bit für ON/OFF in die SPS bekomme. Aber auch hier tut sich nichts.

Bin für jede Idee und Hilfe dankbar.

Gruß

th3elk

Re: Openhab Dimmer Simatic funktioniert nicht

Verfasst: 24. Nov 2019 18:10
von th3elk
Hallo zusammen,

das Problem hat sich erledigt. Ich habe die gesamte Installation geupdated und danach lief es. Warum auch immer...

Gruß

Re: Openhab Dimmer Simatic funktioniert nicht

Verfasst: 7. Jan 2020 21:48
von magoo85
Hallo Th3elk,

Ich bin gerade erst auf das Thema openhab gestoßen und möchte es bei meiner home automation integrieren.
Meine Hardware:
- S7 1500
- Raspberry Pi 3 mit Openhabian

Bin am Versuchen, das Simatic Binding zum laufen zu kriegen, eventuell kannst du mir hier weiterhelfen, da es bei dir ja schon läuft

Folgendes habe ich schon gemacht:

- Das binding org.openhab.binding.simatic-1.14.0-SNAPSHOT.jar liegt am Raspi im Ordner /srv/openhab2-addons
- In der Datei /etc/openhab2/services/addons.cfg folgende Änderung:
alt:

Code: Alles auswählen

#binding
neu:

Code: Alles auswählen

binding = simatic
- Im TIA V15 ist eine unspezifizierte Verbindung zum Partner mit statischer IP angelegt
- eine plc.items Datei ist mit einem Item angelegt:

Code: Alles auswählen

Dimmer    Item01    "Value[%d]"    { simatic="plc:DB40.DBD0" }
das Erstellen der items ist mir klar, brauche ich auch erst eine Things-Datei um das zum Laufen zu kriegen?
Ich denke es liegt aber vorerst mal am Einbinden des Bindings prinzipiell, dieses sollte doch gleich in der Paper UI aufscheinen, oder?

Wie mache ich am Besten weiter?
Besten Dank vorab für die Hilfe.

Logfile sagt folgendes:
2020-01-07 20:30:42.494 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'plc.items'
2020-01-07 20:30:42.592 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test.items'
2020-01-07 20:30:43.344 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'rrd4j.persist'
2020-01-07 20:30:43.378 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'mapdb.persist'
2020-01-07 20:30:44.408 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test.sitemap'
2020-01-07 20:30:50.248 [INFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2020-01-07 20:30:50.960 [INFO ] [ebuilder.internal.HomeBuilderServlet] - Started Home Builder at /homebuilder
2020-01-07 20:30:51.126 [INFO ] [openhab.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
2020-01-07 20:30:51.328 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at http://192.168.1.121:8080
2020-01-07 20:30:51.332 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at https://192.168.1.121:8443
2020-01-07 20:30:51.727 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
2020-01-07 20:30:52.329 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-binding-simatic'
2020-01-07 20:30:52.356 [INFO ] [rt.modbus.internal.ModbusManagerImpl] - Modbus manager activated
2020-01-07 20:30:58.138 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-binding-simatic'
2020-01-07 20:31:07.084 [INFO ] [.binding.simatic.internal.SimaticTCP] - isoTCP:192.168.1.10 - connected. PDU size = 960B
2020-01-07 20:31:07.089 [INFO ] [b.core.service.AbstractActiveService] - Simatic communication service has been started
2020-01-07 20:31:07.853 [ERROR] [b.core.service.AbstractActiveService] - Error while executing background thread Simatic communication service



LG
magoo

Re: Openhab Dimmer Simatic funktioniert nicht

Verfasst: 12. Jan 2020 02:56
von udo1toni
Die addons.cfg steuert das automatische Installieren von offiziell verfügbaren Addons. Da das Simatic Binding nicht zu dieser Gruppe gehört, ist der Eintrag in der addons.cfg nicht nur wirkungslos, er ist sogar störend (die LogZeile Failed installing 'openhab-binding-simatic')
Die manuelle Installation scheint aber erst mal zu klappen (drittletzte und vorletzte Zeile)
Wo hast Du denn das Binding her? Evtl. hat der Entwickler eine aktuelle Version.

Re: Openhab Dimmer Simatic funktioniert nicht

Verfasst: 12. Jan 2020 21:16
von magoo85
Hi,
Habe das Binding von https://github.com/docbender/openHAB-Simatic/releases
sollte das letztgültige sein
Nachdem ich den bindings Eintrag in der addons.cfg gelöscht habe und einen Neustart selbige Einträge wie oben beschrieben im Logfile.

Die unterste Zeile enthält noch weitere Infos:

Code: Alles auswählen

2020-01-12 21:08:43.402 [ERROR] [b.core.service.AbstractActiveService] - Error while executing background thread Simatic communication service
java.lang.IllegalArgumentException: Value must be between 0 and 100
	at org.openhab.core.library.types.PercentType.validateValue(PercentType.java:50) ~[bundleFile:?]
	at org.openhab.core.library.types.PercentType.<init>(PercentType.java:35) ~[bundleFile:?]
	at org.openhab.binding.simatic.internal.SimaticGenericDevice.postValue(SimaticGenericDevice.java:527) ~[?:?]
	at org.openhab.binding.simatic.internal.SimaticTCP.checkNewData(SimaticTCP.java:407) ~[?:?]
	at org.openhab.binding.simatic.internal.SimaticBinding.execute(SimaticBinding.java:233) ~[?:?]
	at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:146) ~[bundleFile:?]
	at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:169) [bundleFile:?]
Diese Meldung kommt nach dem Neustart des Pi ca. 15 mal und dann die schon oben erwähnten Meldungen.
Einige Leute haben das schon am Laufen, daher denke ich dass es bei mir eher ein Openhab Anfängerfehler ist.



meine /etc/openhab2/services/openhab.cfg sieht so aus (wie in der Anleitung https://github.com/docbender/openHAB-Simatic/wiki beschrieben auf meine Steuerung angepasst -> S7 1500 mit IP 192.168.1.10) -> ist das der Richtige Ablageort? (ich habe diese Datei selbst erstellt)

Code: Alles auswählen

################################### Simatic Binding ######################################
#
# plc - define tagret PLC by IP address, cpu rack and slot. Definition look IP:rack.slot (ex.: 192.168.254.36:0.2). 
# Above that communication type can be optionally specify at the end separate by semicolon.
# Supported communication types : PG, OP, S7 and 200 (S7-200 connection).
# It is possible defined more PLCs ex. plc, plc1, plc315,... 
# 
# refresh - check for new data interval - default 1000ms   
#
simatic:refresh=500      
simatic:plc=192.168.1.10:0.1


Wie erwähnt habe ich auch noch keine Things definiert, im Wiki wird davon auch nichts erwähnt, das Wiki ist leider nicht sehr präzise wo die Dateien/Codes abzuspeichern sind..

Danke schonmal für die Hilfe!

Re: Openhab Dimmer Simatic funktioniert nicht

Verfasst: 12. Jan 2020 22:20
von b-tronic
Hast du Libnodave installiert ?

git clone git://github.com/netdata/libnodave.git
cd libnodave
make
sudo make install

Re: Openhab Dimmer Simatic funktioniert nicht

Verfasst: 12. Jan 2020 22:30
von magoo85
Hallo,
nein ich dachte dass dies nur für das simatic binding erstellen benötigt wird und ich es daher nicht benötige,

Danke für den Tipp:

beim Befehl make und sudo make install kommt folgender fehler

Code: Alles auswählen

[22:27:36] openhabian@openhab:~$ cd libnodave
[22:28:33] openhabian@openhab:~/libnodave$ make
cc -m64 -Wall -Winline -DLINUX -DDAVE_LITTLE_ENDIAN -fPIC -m64 -Wall -Winline -DLINUX -DDAVE_LITTLE_ENDIAN -fPIC  -c -o openSocket.o openSocket.c
cc: error: unrecognized command line option ‘-m64’
cc: error: unrecognized command line option ‘-m64’
make: *** [<eingebaut>: openSocket.o] Fehler 1
[22:28:42] openhabian@openhab:~/libnodave$ sudo make install
[sudo] Passwort für openhabian:
cc -m64 -Wall -Winline -DLINUX -DDAVE_LITTLE_ENDIAN -fPIC -m64 -Wall -Winline -DLINUX -DDAVE_LITTLE_ENDIAN -fPIC  -c -o nodave.o nodave.c
cc: error: unrecognized command line option ‘-m64’
cc: error: unrecognized command line option ‘-m64’
make: *** [<eingebaut>: nodave.o] Fehler 1
[22:29:18] openhabian@openhab:~/libnodave$

Das Logfile zeigt
folgende Einträge:

Code: Alles auswählen

2020-01-12 22:27:49.879 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'plc.items'
2020-01-12 22:27:50.679 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'rrd4j.persist'
2020-01-12 22:27:50.706 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'mapdb.persist'
2020-01-12 22:27:51.792 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test.sitemap'
2020-01-12 22:27:54.684 [INFO ] [openhab.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
2020-01-12 22:27:54.855 [INFO ] [ebuilder.internal.HomeBuilderServlet] - Started Home Builder at /homebuilder
2020-01-12 22:27:55.167 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at http://192.168.1.121:8080
2020-01-12 22:27:55.170 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at https://192.168.1.121:8443
2020-01-12 22:27:57.473 [INFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2020-01-12 22:27:57.974 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
2020-01-12 22:27:57.998 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-binding-simatic'
2020-01-12 22:27:59.308 [INFO ] [.binding.simatic.internal.SimaticTCP] - isoTCP:192.168.1.10 - connected
2020-01-12 22:27:59.314 [INFO ] [b.core.service.AbstractActiveService] - Simatic communication service has been started

Re: Openhab Dimmer Simatic funktioniert nicht

Verfasst: 13. Jan 2020 22:08
von magoo85
Update:
Die Verbindung zur Steuerung funktioniert, eventuell hat diese schon vor der Installation von libnodave funktioniert? (ich glaube eher nicht aber bin nicht sicher)
Dann habe ich noch Step 1 und Step 2 aus diesem Link gemacht: http://plc2k.com/linux-libnodave-exampl ... ns-s7-300/

Wie erwähnt weiß ich nicht ob das etwas gebracht hat den ich habe immer noch die folgende Meldung im Log:

Failed installing 'openhab-binding-simatic'

Eventuell habe ich das Simatic Binding noch in einem anderen Ordner, den ich nicht mehr finde,

mein Plan ist bei Gelegenheit nochmals alles frisch zu machen und genau mitzuschreiben was ich mache

Meine items sehen derzeit so aus und ich bin jetzt dran ein habpanel anzulegen:

Code: Alles auswählen

Switch Jal_EG_alle_auf "Jalousien - EG Auf" { simatic="plc:DB40.DBX0.0" }
Switch Jal_EG_alle_ab "Jalousien - EG Ab" { simatic="plc:DB40.DBX0.1" }
Switch Jal_OG_alle_auf "Jal OG alle auf" { simatic="plc:DB40.DBX0.2" } 
Switch Jal_OG_alle_zu "Jal OG alle zu" { simatic="plc:DB40.DBX0.3" } 
Switch Alarmanlage "Alarmanlage" { simatic="plc:DB40.DBX0.4" } 
Switch Alarmanlage_aktivieren "Alarmanlage aktivieren" { simatic="plc:DB40.DBX0.5" } 
Switch Klingel_blockieren "Klingel blockieren" { simatic="plc:DB40.DBX0.6" } 
Switch Klingel "Klingel" { simatic="plc:DB40.DBX0.7" } 
Switch Fenster_zu "Fenster zu" { simatic="plc:DB40.DBX1.0" } 
Switch Gartentor_auf "Gartentor auf" { simatic="plc:DB40.DBX1.1" } 
Switch Alarm_Reset "Alarm Reset" { simatic="plc:DB40.DBX1.2" } 
Switch Jal_EG_Hebe1_auf "Jal EG Hebe1 auf" { simatic="plc:DB40.DBX1.3" } 
Switch Jal_EG_Hebe1_zu "Jal EG Hebe1 zu" { simatic="plc:DB40.DBX1.4" } 
Switch Jal_EG_Hebe2_auf "Jal EG Hebe2 auf" { simatic="plc:DB40.DBX1.5" } 
Switch Jal_EG_Hebe2_zu "Jal EG Hebe2 zu" { simatic="plc:DB40.DBX1.6" } 
Switch Jal_EG_Hebe3_auf "Jal EG Hebe3 auf" { simatic="plc:DB40.DBX1.7" } 
Switch Jal_EG_Hebe3_zu "Jal EG Hebe3 zu" { simatic="plc:DB40.DBX2.0" } 
Switch Jal_EG_Kueche_auf "Jal EG Kueche auf" { simatic="plc:DB40.DBX2.1" } 
Switch Jal_EG_Kueche_zu "Jal EG Kueche zu" { simatic="plc:DB40.DBX2.2" } 
Switch Jal_EG_WZ_auf "Jal EG WZ auf" { simatic="plc:DB40.DBX2.3" } 
Switch Jal_EG_WZ_zu "Jal EG WZ zu" { simatic="plc:DB40.DBX2.4" } 
Switch Jal_EG_WZ_schmal_auf "Jal EG WZ schmal auf" { simatic="plc:DB40.DBX2.5" } 
Switch Jal_EG_WZ_schmal_zu "Jal EG WZ schmal zu" { simatic="plc:DB40.DBX2.6" } 
Switch Jal_EG_Elias_auf "Jal EG Elias auf" { simatic="plc:DB40.DBX2.7" } 
Switch Jal_EG_Elias_zu "Jal EG Elias zu" { simatic="plc:DB40.DBX3.0" } 
Switch Jal_EG_Gang_auf "Jal EG Gang auf" { simatic="plc:DB40.DBX3.1" } 
Switch Jal_EG_Gang_zu "Jal EG Gang zu" { simatic="plc:DB40.DBX3.2" } 
Switch Jal_OG_Bad_auf "Jal OG Bad auf" { simatic="plc:DB40.DBX3.3" } 
Switch Jal_OG_Bad_zu "Jal OG Bad zu" { simatic="plc:DB40.DBX3.4" } 
Switch Jal_OG_Leon_auf "Jal OG Leon auf" { simatic="plc:DB40.DBX3.5" } 
Switch Jal_OG_Leon_zu "Jal OG Leon zu" { simatic="plc:DB40.DBX3.6" } 
Switch Jal_OG_SZ_auf "Jal OG SZ auf" { simatic="plc:DB40.DBX3.7" } 
Switch Jal_OG_SZ_zu "Jal OG SZ zu" { simatic="plc:DB40.DBX4.0" } 
Switch Jal_OG_SR_auf "Jal OG SR auf" { simatic="plc:DB40.DBX4.1" } 
Switch Jal_OG_SR_zu "Jal OG SR zu" { simatic="plc:DB40.DBX4.2" } 
Switch Jal_OG_Ben_auf "Jal OG Ben auf" { simatic="plc:DB40.DBX4.3" } 
Switch Jal_OG_Ben_zu "Jal OG Ben zu" { simatic="plc:DB40.DBX4.4" } 
Switch Szene_Tag "Szene Tag" { simatic="plc:DB40.DBX4.5" } 
Switch Szene_Abend "Szene Abend" { simatic="plc:DB40.DBX4.6" } 
Switch Szene_Nacht "Szene Nacht" { simatic="plc:DB40.DBX4.7" } 
Number Tag_Hebe2_Pos "Tag Hebe2 Pos" { simatic="plc:DB40.DBD6:float" }
Number Tag_Hebe_Winkel "Tag Hebe Winkel" { simatic="plc:DB40.DBD10:float" }
Number Abend_Hebe2_Pos "Abend Hebe2 Pos" { simatic="plc:DB40.DBD14:float" }
Number Nacht_Hebe2_Pos "Nacht Hebe2 Pos" { simatic="plc:DB40.DBD18:float" }
Number Tag "Tag" { simatic="plc:DB40.DBD22:float" }
Number Abend "Abend" { simatic="plc:DB40.DBD26:float" }
Number Nacht "Nacht" { simatic="plc:DB40.DBD30:float" }
Switch Sommer "Sommer" { simatic="plc:DB40.DBX34.0" }
Number Windcounter "Windcounter" { simatic="plc:DB40.DBD36:float:O" }
Switch Licht_WZ "Licht WZ" { simatic="plc:DB40.DBX40.0" }
Switch Licht_Gang_block "Licht Gang block" { simatic="plc:DB40.DBX40.1" }

Re: Openhab Dimmer Simatic funktioniert nicht

Verfasst: 14. Jan 2020 02:44
von udo1toni
magoo85 hat geschrieben: 13. Jan 2020 22:08 Failed installing 'openhab-binding-simatic'
Hast Du denn den Eintrag in addons.cfg schon entfernt? Hast Du openHAB seitdem mal neu gestartet?
Das Binding ist ein OH1 Binding und kennt keine Things. Es benötigt zwingend das compatibility Layer Binding, welches dafür sorgt, dass OH1 Bindings unter OH2 funktionieren (das wird automatisch installiert, sobald man ein OH1 Binding mit Paper UI installiert)

Re: Openhab Dimmer Simatic funktioniert nicht

Verfasst: 14. Jan 2020 14:48
von magoo85
udo1toni hat geschrieben: 14. Jan 2020 02:44
magoo85 hat geschrieben: 13. Jan 2020 22:08 Failed installing 'openhab-binding-simatic'
Hast Du denn den Eintrag in addons.cfg schon entfernt? Hast Du openHAB seitdem mal neu gestartet?
Ja beides gemacht, mehrmals, ich dachte zuerst ich muss nach jeder Änderung z.b. der items Datei neu starten

Danke für deinen Input!
LG