RaspberryMatic 3.51.6.20200613 – Neue Version

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Benutzeravatar
svh79
Beiträge: 10
Registriert: 28.02.2018, 22:05
Wohnort: Bönningstedt

Re: RaspberryMatic 3.51.6.20200613 – Neue Version

Beitrag von svh79 » 17.06.2020, 20:03

Vielen Dank für die neue Version, Jens!

Ich habe Proxmox 6.2-4 auf einem NUC10i5FNK mit dem HB-RF-USB-TK v1.3 und HM-MOD-RPI-PCB im Einsatz. RaspberryMatic-3.51.6.20200617-084ff6-ova hängt ca. 25 Sekunden in "InitRFHardware" und startet dann durch.

Anscheinend funktioniert alles - mir ist bislang noch nichts negativ / fehlend aufgefallen.

Grüße aus Hamburg,
Sven

Benutzeravatar
Black
Beiträge: 2951
Registriert: 12.09.2015, 22:31
System: Alternative CCU (RaspberryMatic etc.)
Wohnort: Wegberg
Hat sich bedankt: 43 Mal
Danksagung erhalten: 202 Mal
Kontaktdaten:

Re: RaspberryMatic 3.51.6.20200613 – Neue Version

Beitrag von Black » 17.06.2020, 21:08

Auf der aktuellen Raspberrymatik ist das String Super quote ^ fehlerhaft implementiert.

auf allen alten Systemen läuft

Code: Alles auswählen

string s= "abcd\zui";
s=s.Replace (^\^,^\\^);
WriteLine (s);  
einwandfrei.

auf der aktuellen 3.51.6.20200613 bringt das gleiche einen Scriptruntimeerror.
Die Funktion ist gefährlich weil damit das verdoppeln des Backslash so nicht mehr möglich ist.(Und nicht nur ich dieses nutze)

Ist ein Bug, weil innerhalb des Supter-String-Quote keine Substitution stattfinden darf.

Black
Die Wahrheit ist ein Chor aus Wind
Meine Seite, ok noch bisschen im Aufbau

RaspberryMatic 3.51.6.20200420 mit Groundplane Antennenmod
jede Menge Sensoren und Aktoren, Logamatic 2107 Gateway zum Buderus Kessel
ioBroker unter ProxMox auf NUC als Hauptsteuersystem und Visualisierung
Script Time Scheduler V1.3
Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 3.11.04 Scripteditor und Objektinspektor

technical contribution against annoying advertising

Benutzeravatar
onkeltommy
Beiträge: 831
Registriert: 07.05.2016, 08:03
Wohnort: Wien
Hat sich bedankt: 11 Mal
Danksagung erhalten: 7 Mal

Re: RaspberryMatic 3.51.6.20200613 – Neue Version

Beitrag von onkeltommy » 17.06.2020, 21:45

Hi

nach 4h

wieder passiert, alles steht, keine Programme laufen mehr

Hab Rega Logging auf "alles" gestellt, kommen nur Infos aber keine Errors

oder sowas
Info: http id #1 sends parsed file [ParseFileAndSendWebResponse():httpServer.cpp:2033]
Info: http id #1 sends parsed file [ParseFileAndSendWebResponse():httpServer.cpp:2033]
Verbose: wait max timeout = 240000 [ThreadFunction():iseRTEvent.cpp:69]

hab das Teil die seit dem vorigen Crash nicht angerührt mehr, was kann ich tun ?
Unbenannt.PNG
Edit: Neustart hilft nicht
Edit2: wie vorher, alle Geräte lassen sich über die WebUi steuern, keine Prog läuft

doch NOTFALL

das kam grad

'ReGaHss' failed protocol test [HTTP] at [localhost]:8183 [TCP/IP] -- HTTP: Error receiving data -- Resource temporarily unavailable

dann hat sich die Rega neu gestartet
ERROR: send() failed (nsize=2627, errno=32, m_sock=19) [Send():iseSysLx.cpp:1576]

ein Programm lief dann kurz, aber wieder finster

dann wieder

'ReGaHss' failed to restart (exit status -1) -- '/etc/init.d/S70ReGaHss restart': Program timed out -- Stopping ReGaHss: .
'ReGaHss' process is running after previous exec error (slow starting or manually recovered?)
'ReGaHss' failed to restart (exit status -1) -- '/etc/init.d/S70ReGaHss restart': Program timed out -- Stopping ReGaHss: .
--------------------------
RaspberryMatic 3.51.6.20200621 @ TinkerS (Produktivsystem) & RB3+ (Netzwerküberw.) & VMWare (Historian) & 2x RB3+ @ Nachwuchs

Benutzeravatar
jmaus
Beiträge: 5919
Registriert: 17.02.2015, 14:45
System: Alternative CCU (RaspberryMatic etc.)
Wohnort: Dresden
Hat sich bedankt: 14 Mal
Danksagung erhalten: 322 Mal
Kontaktdaten:

Re: RaspberryMatic 3.51.6.20200613 – Neue Version

Beitrag von jmaus » 17.06.2020, 23:48

Black hat geschrieben:
17.06.2020, 21:08
Auf der aktuellen Raspberrymatik ist das String Super quote ^ fehlerhaft implementiert.

auf allen alten Systemen läuft

Code: Alles auswählen

string s= "abcd\zui";
s=s.Replace (^\^,^\\^);
WriteLine (s);  
einwandfrei.

auf der aktuellen 3.51.6.20200613 bringt das gleiche einen Scriptruntimeerror.
Die Funktion ist gefährlich weil damit das verdoppeln des Backslash so nicht mehr möglich ist.(Und nicht nur ich dieses nutze)
Ist mir auch schon gestern aufgefallen. Bis es repariert ist kannst du einfach folgenden Workaround nutzen:

Code: Alles auswählen

s=s.Replace (^\ ^.Trim(),^\\ ^.Trim());
Dann klappt das bis zum Fix auch wieder.
RaspberryMatic 3.51.6.20200621 @ ESXi mit ~180 HomeMatic Geräten + ioBroker – GitHubGitHub Sponsors / PayPalTwitter

voodooman
Beiträge: 101
Registriert: 10.08.2014, 01:55
Hat sich bedankt: 6 Mal
Danksagung erhalten: 9 Mal

Re: RaspberryMatic 3.51.6.20200613 – Neue Version

Beitrag von voodooman » 17.06.2020, 23:53

onkeltommy hat geschrieben:
17.06.2020, 21:45
Hi

nach 4h

wieder passiert, alles steht, keine Programme laufen mehr

Hab Rega Logging auf "alles" gestellt, kommen nur Infos aber keine Errors
Für alle Fälle
erst Firmware Downgrade machen, danach das passende Backup dazu einspielen

SD Karte hast ja keine Verbaut in dem Teil, kannst auch so was wie nen Factory Reset machen an dem Teil ?
Werks Wiederherstellung ...

Kennst du die Seite ?
Vielleicht kannst ja das ein oder andere Dort für dich mitnehmen

https://technikkram.net/blog/2018/08/28 ... uf-dem-pc/


Tomislav

Benutzeravatar
onkeltommy
Beiträge: 831
Registriert: 07.05.2016, 08:03
Wohnort: Wien
Hat sich bedankt: 11 Mal
Danksagung erhalten: 7 Mal

Re: RaspberryMatic 3.51.6.20200613 – Neue Version

Beitrag von onkeltommy » 18.06.2020, 00:24

Hi

bin grade dabei, nachdem keine Chance mehr war, dass das Teil was tut, alle (paar Hundert) Programme zu deaktivieren, habe alle abgedreht und nur das eine Reboot-Prüfung ein gelassen (das lief ja auch nicht)
Neustart und die SV ging nach der eingestellten Zeit auf "Betrieb"

Taste mich Blockweise heran, ob ich das eingrenzen kann, ich habe allerdings seit gestern ein neues Teil im System, den IP Aktor mit Tastereingang (FSM?) - Allerdings das Ding funktioniert. Ich vermute, irgendwas schiesst sich ab, vl komm ich dahinter, die großen Scripte von Alchy und Zeitberechnung und Servicemeldungen aktiviere ich zum Schluss, vl hat es damit zu tun - bedingt durch den FSM
Ist halt nur zweischneidiges Schwert, am Nachmittag hat die Zentrale ja dann irgendwann ohne was zu ändern durch Hardreboot wieder 4h funktioniert, nur, seit "vorhin" ging gar nix mehr, egal wie oft ich neu startete. Mit 2/3 der Programm-reaktivierung bin ich durch, läuft noch....wenigstens ist das Tinker so schnell beim Neustart (schwacher Trost jetzt)
--------------------------
RaspberryMatic 3.51.6.20200621 @ TinkerS (Produktivsystem) & RB3+ (Netzwerküberw.) & VMWare (Historian) & 2x RB3+ @ Nachwuchs

Benutzeravatar
onkeltommy
Beiträge: 831
Registriert: 07.05.2016, 08:03
Wohnort: Wien
Hat sich bedankt: 11 Mal
Danksagung erhalten: 7 Mal

Re: RaspberryMatic 3.51.6.20200613 – Neue Version

Beitrag von onkeltommy » 18.06.2020, 01:34

So, ich glaube ich habe den Hund gefunden, warum das erst seit heute passiert, Null Ahnung, aber Fakt ist, dass, wenn man das Programm von inaktiv auf aktiv setzt steht die RMatic, da ja nach Start das erste DANN ausgeführt wird.

3x Reproduziert, Programm auf aktiv, Zentrale ist Programmseitig "tot"
Programm deaktivieren, Neustart, alles ok, Programm aktiv anhaken ->tot....usw

Programm sendet an 2 Android Tabs Befehle für Helligkeitssteuerung (via Tasker), was auch schon Monate funktionierte.
Unbenannt.PNG
Die CCU_restart Prüfung habe ich erst jetzt eingefügt, war nicht drinnen, aber für jetzt mal lasse ich das Programm deaktiviert

Komisch ist, wenn ich im Scripteditor die Scripte teste, passiert nichts, Zentrale schmiert nicht ab, nur wenn das Programm aktiv ist

Obere und untere Scripte sind bis auf die Helligkeitswerte ident.

Im ersten "DANN" nach 3s

Code: Alles auswählen

string stdout;
string stderr;
system.Exec("wget -O /dev/null -q http://192.168.0.28:8765/?helligkeit=254")
Im ersten "DANN" nach 6s

Code: Alles auswählen

string stdout;
string stderr;
system.Exec("wget -O /dev/null -q http://192.168.0.19:8765/?helligkeit=255")

Habt Ihr eine Ahnung, warum das "passiert" ? Fast 4h Fehlersuche nach Try and Error Prinzip und zig Backups dazwischen

Auch meinen AVR steuere ich mit wget, dabei stürtzt nichts ab
-einer der AVR Scripte- jedoch - sind/waren die von Anfang an mit "RebootPrüfung" versehen

Code: Alles auswählen

!MainOff
string stdout;
string stderr;
system.Exec("wget -O /dev/null -q http://192.168.0.202/goform/formiPhoneAppPower.xml?1+PowerStandby")

!MainOn
!string stdout;
!string stderr;
!system.Exec("wget -O /dev/null -q http://192.168.0.202/goform/formiPhoneAppPower.xml?1+PowerOn")
Der AVR wird über ca. 10 Programme gesteuert, alle ähnlich wie das obere Script, klar, andere Befehle, andere Abhängigkeiten. Wenn ich die Programme für den AVR ein/auschalte ist weiterhin alles ok, das erste Dann wird ausgeführt, der AVR reagiert, alles gut.

Ich werde morgen mal das Programm für die Tablets auf meiner 2ten RMAtic (Raspi) nachbauen und mal schauen, obs den auch aufhaut

Bitte nochmal um Eure Unterstützung, vielen Dank und jetzt mal gute Nacht @ all
lG Thomas
--------------------------
RaspberryMatic 3.51.6.20200621 @ TinkerS (Produktivsystem) & RB3+ (Netzwerküberw.) & VMWare (Historian) & 2x RB3+ @ Nachwuchs

hammeran
Beiträge: 9
Registriert: 23.12.2018, 04:56
Danksagung erhalten: 1 Mal

Re: RaspberryMatic 3.51.6.20200613 – Neue Version

Beitrag von hammeran » 18.06.2020, 06:41

jmaus hat geschrieben:
17.06.2020, 23:48
Ist mir auch schon gestern aufgefallen. Bis es repariert ist kannst du einfach folgenden Workaround nutzen:

Code: Alles auswählen

s=s.Replace (^\ ^.Trim(),^\\ ^.Trim());
Dann klappt das bis zum Fix auch wieder.
So eine Zeile wird bei mir gar nicht erst abgespeichert ....

Benutzeravatar
onkeltommy
Beiträge: 831
Registriert: 07.05.2016, 08:03
Wohnort: Wien
Hat sich bedankt: 11 Mal
Danksagung erhalten: 7 Mal

Re: RaspberryMatic 3.51.6.20200613 – Neue Version

Beitrag von onkeltommy » 18.06.2020, 07:45

Guten Morgen

okay, nun Fakt, dieses Befehle schiessen die Rega ab, nun auch auf 2ter RMatic getestet, da reichte schon Script testen.
Wird zwar ausgeführt, d.h. das Tablet reagiert, aber danach ist die Rega tot und monit kriegt die auch nicht mehr hoch.

Code: Alles auswählen

string stdout;
string stderr;
system.Exec("wget -O /dev/null -q http://192.168.0.28:8765/?helligkeit=254")
D.h. Einerseits Fehler gefunden, nur warum auf einmal wenns schon Monatelang funktioniert hat.

Macht mir nur Kopfzerbrechen, da es ja zig "ähnliche" Programme mit wget und SystemExec gibt...

?????

Danke

lG

Thomas

Edit: auch auf der virtuellen RM (VMWare) probiert - detto Abschuss und keine Chance, dass die Rega wieder selbst hochkommt. Loop
--------------------------
RaspberryMatic 3.51.6.20200621 @ TinkerS (Produktivsystem) & RB3+ (Netzwerküberw.) & VMWare (Historian) & 2x RB3+ @ Nachwuchs

Benutzeravatar
jmaus
Beiträge: 5919
Registriert: 17.02.2015, 14:45
System: Alternative CCU (RaspberryMatic etc.)
Wohnort: Dresden
Hat sich bedankt: 14 Mal
Danksagung erhalten: 322 Mal
Kontaktdaten:

Re: RaspberryMatic 3.51.6.20200613 – Neue Version

Beitrag von jmaus » 18.06.2020, 08:07

onkeltommy hat geschrieben:
18.06.2020, 07:45
Wird zwar ausgeführt, d.h. das Tablet reagiert, aber danach ist die Rega tot und monit kriegt die auch nicht mehr hoch.

Code: Alles auswählen

string stdout;
string stderr;
system.Exec("wget -O /dev/null -q http://192.168.0.28:8765/?helligkeit=254")
D.h. Einerseits Fehler gefunden, nur warum auf einmal wenns schon Monatelang funktioniert hat.

Macht mir nur Kopfzerbrechen, da es ja zig "ähnliche" Programme mit wget und SystemExec gibt...
Tja, dann versuch mal das gerät das die ip adresse 192.168.0.28 haben soll anzupingen oder starte es neu. Dann wirst du sehen das es daran liegt das es nicht korrekt funktioniert bzw von RaspberryMatic nicht erreichbar ist.

Das Problem ist ein glasklarer Nutzungsfehler der system.Exec() funktion in Kombination mit wget. Denn so wie du die nutzt sind die blockierend. D.h. Die Rega wartet bis die Ausführung beendet wurde. Und wenn nun irgendetwas mit dem gerät hinter der sich die ip adresse verbirgt nicht stimmt, dann kann es sein das der wget call eben unendlich dauert und folglich die rega blockiert.

Deshalb ist es ja auch wichtig ALLE wget/curl aufrufe mit system.Exec() mit einem '&' am schluss auszuführen damit der wget call nicht blockierend ausgeführt wird und die rega sofort weiterarbeiten kann. Also müsste dein Script wie folgt aussehen:

Code: Alles auswählen

system.Exec("wget -O /dev/null -q http://192.168.0.28:8765/?helligkeit=254 &");
Dann kannst du dir auch die definition von stdout/stderr sparen weil du ja eh keinen output des wget haben willst.

Also einfach in all deine wget calls die keinerlei output von wget brauchen hinten ein einzelnes '&' hinzufügen und schon sollte die rega nicht mehr blockieren.

Allerdings ist die eigentliche ursache eben ein Problem mit dem gerät/dienst hinter der 192.168.0.28 adresse!
RaspberryMatic 3.51.6.20200621 @ ESXi mit ~180 HomeMatic Geräten + ioBroker – GitHubGitHub Sponsors / PayPalTwitter

Gesperrt

Zurück zu „RaspberryMatic“