Servicemeldungen *allinclusive* Script

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
tinram
Beiträge: 56
Registriert: 28.10.2017, 21:58
System: Alternative CCU (auf Basis OCCU)
Wohnort: BS
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Servicemeldungen *allinclusive* Script

Beitrag von tinram » 11.06.2018, 20:07

Hallo Alchy,

ein super tolles Skript was du hier zur Verfügung stellst :!:
Ich habe mal meine Geräteliste durchsucht, welche Batterietypen fehlen:

- HmIP-SWO-B => 3x 1,5 V LR6
- HmIP-eTRV-2 => 2x 1,5 V LR6

Benötigst du auch die Datenpunkte vom HmIP-SWO-B? Ich habe sie einfach mal angefügt.
Die des HmIP-eTRV-2 sind ja gleich dem HmIP-eTRV.
Dateianhänge
Datenpunkte_HMIP-SWO-B.jpg
Datenpunkte HmIP-SWO-B
Viele Grüße, Martin
.
-- RapberryMatic OVA auf QNAP TS-253D mit HB-RF-ETH und RPI-RF-MOD --
-- Addons: CUxD, CCU-Historian, Email, HM_pdetect, Programme drucken --

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 12.06.2018, 09:15

Ich habe gestern Nacht noch ein paar der Änderungen eingebaut.
Die gemeldeten Batterietypen, Servicemeldung SABOTAGE und auch den Zeilenvorschub hab ich ausgebaut.
Telegram, Pushover, Mail machen keine Probleme mehr damit (Pushbullet, Pushsaver habe ich nicht getestet)


Aber:



Nach wie vor gibt es jedoch dann Probleme in der Klickibunti selber beim Speichern des Strings in einer Systemvariablen.
Während unter Status und Bedienung, die Variable so angezeigt wird wie der String formatiert wurde:
servicemeldungen_Status.jpg
\n formatierten String unter Status und Bedienung Systemvariable
servicemeldungen_Status.jpg (32.75 KiB) 2537 mal betrachtet
wird es durch den >>Fix<<von jmaus hässlich, wenn man die Variable der Startseite zuordnet:
servicemeldungen_Startseite.jpg
\n formatierten String unter Einstellungen Benutzerverwaltung auf Startseite
die Steuerzeichen \n werden ja seit dem Fix erwartungsgemäß in html </br> umgewandelt. Nur werden die wiederum von der Startseite ignoriert und als Text dargestellt.
Aber wen interessiert das schon :roll:
positiv sei zu dem Fix aber vermerkt, das wenigstens die CCU Welt nicht mehr stehen bleibt :mrgreen:

Allerdings, und da beißt sich die FixKatze dann doch in den Schwanz:
Wer eine Systemvariable mit enthaltenen Steuerzeichen protokollieren will, der verliert nach wie vor sein Systemprotokoll (zumindest in der KLickibunti)
Soll heissen, ab da wird das Systemprotokoll dann in der Klickibunti nicht mehr angezeigt.

Also bitte nicht auf die Idee kommen, die Speichervariable aus dem Script auf protokollieren zu stellen, wenn Steuerzeichen im String verwendet werden.

Und nein, ihr braucht euch auch hier nicht zu beschweren - ist der falsche Ort. Keine Stringvariable mit z.B. dem Steuerzeichen \n darf protokolliert werden.
Soviel zum Thema "Bau mal Steuerzeichen in dein Script ein" - sieht doch besser aus usw. :wink:
Nun ich habe es trotzdem eingebaut, mit Option zum ein und Ausschalten im Setup des Scriptes.

Und wer jetzt auf die Idee kommt, nimm doch statt Steuerzeichen wie \n etwas wie </br>
der möge seine eigene Testreihe durchführen. Alles zusammen geht auch damit nicht.


Alchy

Danke nochmal an die User, welche neue Datenpunkte und Batterietypen gepostet haben. Ich hoffe nichts übersehen zu haben in der 1.97

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
jmaus
Beiträge: 9844
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: Servicemeldungen *allinclusive* Script

Beitrag von jmaus » 12.06.2018, 10:04

alchy hat geschrieben:[...]
die Steuerzeichen \n werden ja seit dem Fix erwartungsgemäß in html </br> umgewandelt. Nur werden die wiederum von der Startseite ignoriert und als Text dargestellt.
Aber wen interessiert das schon :roll:
Irgendein Tod muss man halt sterben ;) Momentan ist es einfach nicht möglich (und das its auch teilweise so gewollt) Systemvariablen die HTML tags beinhalten in der User-definierbaren Liste von Systemvariablen anzeigen zu lassen. Aber ich geben zu, das ist unschön – hat aber eben momentan noch eine geringe Priorität.
alchy hat geschrieben: Allerdings, und da beißt sich die FixKatze dann doch in den Schwanz:
Wer eine Systemvariable mit enthaltenen Steuerzeichen protokollieren will, der verliert nach wie vor sein Systemprotokoll (zumindest in der KLickibunti)
Soll heissen, ab da wird das Systemprotokoll dann in der Klickibunti nicht mehr angezeigt.
Das ist in der Tat für mich eine neue Erkenntnis. Wenn du dazu im RaspberryMatic GitHub ein Ticket aufmachen könntest dann könnte ich mich ggf. auch darum kümmern in Zukunft und zumindest dafür sorgen das solche Inhalte von Systemvariablen nicht mehr im WebUI-Systemprotokoll zu diesen Problemen führt.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 12.06.2018, 11:10

jmaus hat geschrieben:Irgendein Tod muss man halt sterben
Warum?
Ursache und Wirkung.
Unter Status und Bedienung wurden Steuerzeichen soweit ich mich erinnere schon immer korrekt umgesetzt und auch html Tags.
Auf der Startseite eben nicht. Sie führten am Anfang (zumindest meinerseits veröffentlicht seit 24.06.2016) teilweise zum Einfrieren der Klickibunti, nach dem Fix Januar 2018 teilweise zur Wandlung in sinnlosen Text.
Naja, wenn man es genau nimmt, nur für einen Teil der gemeldeten Ursachen, denn die Klickibunti bleibt immer noch stehen unter bestimmten Voraussetzungen, so wie ich es auch >>damals<< beschrieben habe.
Das falsche Verhalten im Systemprotokoll bei Steuerzeichen wurde soweit ich mich erinnere, noch nie angegangen. HtmlCodes würden funktionieren. Ich mag mich aber auch irren.
jmaus hat geschrieben:Wenn du dazu im RaspberryMatic GitHub ein Ticket aufmachen könntest
Ich akzeptiere das du dieses Portal für deine Arbeit verwendest.
Allerdings bin ich wie ich schon mehrmals geschrieben habe, unter GitHub nicht aktiv für das Projekt Homematic, sondern hier im Forum.
Und bevor jetzt wieder einer meine Beiträge einfach da hin kopiert - das will ich nicht. Also akzeptiert bitte auch meinen Willen. Man kann gerne eine eigene Beschreibung mit eigenen Tests dort veröffentlichen oder zur Not meine Beiträge verlinken.
jmaus hat geschrieben:Das ist in der Tat für mich eine neue Erkenntnis.
So neu ist das allerdings alles nicht, wie du nachlesen könntest.

Aber es wird / wurde ja immer als persönlichen Angriff gewertet, wenn man Probleme meldet. (nicht nur in meinem Fall und nicht nur von dir, bevor das hier wieder zu einer Grundsatzdiskussion führt)
Das ist mehr als schade (wenn auch für mich bei Weitem nicht mehr so relevant), denn die Meldung und Beseitigung von Fehlern sollte das Ziel aller sein.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
Centauri2k
Beiträge: 684
Registriert: 17.09.2016, 21:13

Re: Servicemeldungen *allinclusive* Script

Beitrag von Centauri2k » 12.06.2018, 20:10

Hallo alchy,

vielen viele Dank für die Anpassung! Jetzt ist es genau so, wie ich es haben wollte.

2 Fragen hätte ich jedoch noch:

1) Was genau bedeutet die Zeit in den () ? ?nd könnte ich die entfernen? Wenn auch nur für mich?
2) Wäre es möglich, das Wort "NEUE Servicemeldung" Fett darzustellen? Wenn auch nur für mich?

Also mit "Wenn auch nur für mich" meine ich, dass ich dies dann Selber im Code anpassen würde. Oder wäre es für alle Optional (ja/nein) möglich? :D

Einen Fehler habe ich glaub ich noch entdeckt. Die Meldung sieht im Moment so aus:

NEUE Servicemeldung
Sender Schlafzimmertuere:
Sabotage
seit: 12.06.18 20:01 (12.06.18 20:01 )

Vor "seit:" ist im Moment ein Leerzeichen, ich denke das soll da nicht hin oder?

Dann ist mir noch aufgefallen, dass die beiden Geräte "HmIP-SAM" und "HmIP-SPDR" noch nicht intrigiert sind. Diese haben auch beide eine Sabotage und Batteriemeldung.

Ich habe die Datenpunkte bereits hier gepostet: viewtopic.php?f=31&t=24618&start=1190#p439479

Danke noch mal

Benutzeravatar
blackhole
Beiträge: 3730
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 587 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von blackhole » 12.06.2018, 21:02

Stanni hat geschrieben:Dann ist mir noch aufgefallen, dass die beiden Geräte "HmIP-SAM" und "HmIP-SPDR" noch nicht intrigiert sind. Diese haben auch beide eine Sabotage und Batteriemeldung.
Sabotage und Batteriemeldung sind bereits drin (Datenpunkte inkl. Übersetzung).
Was fehlt, ist die Angabe welche Batteriemengen und -typen die Geräte verwenden.

@alchy

HmIP-SAM: 2x 1,5 V LR03/Micro/AAA
HmIP-SPDR: 2x 1,5 V LR6/Mignon/AA

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 13.06.2018, 00:03

Stanni hat geschrieben: 1) Was genau bedeutet die Zeit in den () ? ?
Es gibt nun mal die Möglichkeit eine Systemvariable mehrfach auszulösen, wie auch Alarme usw.
Daher gibt es auch die letzte Auslösezeit und die erstmalige Auslöseszeit der Servicemeldung.
Schaust du mal in der Klickibunti nach bei den Servicemeldungen, dann solltest du es auch so sehen. :wink:
Dafür das du selber schon mal >> H I E R << Ähnliches gefragt hast,
ist es schon erstaunlich, das du es dir nicht merken kannst. :mrgreen:

Entfernst du den Code

Code: Alles auswählen

#"("#sltime.Format("%d.%m.%y %H:%M")#")"
2 x im Script, wird dir nur die Erstauslösung übermittelt.
Stanni hat geschrieben: 2) Wäre es möglich, das Wort "NEUE Servicemeldung" Fett darzustellen? Wenn auch nur für mich?
So ziemlich alles ist möglich, allerdings werde ich jetzt nicht noch anfangen HTML Codes wie <b> fett </b> in das Script einzufügen.
Die Gründe dafür stehen ja oben.
Stanni hat geschrieben: Vor "seit:" ist im Moment ein Leerzeichen, ich denke das soll da nicht hin oder?
na dann...
Stanni hat geschrieben: Dann ist mir noch aufgefallen, dass die beiden Geräte "HmIP-SAM" und "HmIP-SPDR" noch nicht intrigiert sind. Diese haben auch beide eine Sabotage und Batteriemeldung.
Ich habe die Datenpunkte bereits hier gepostet: viewtopic.php?f=31&t=24618&start=1190#p439479
Du verwechselst da etwas. Was du als integriert betrachtest, ist falsch.
Nur weil du den HssTyp vielleicht nicht im Code findest, heißt das noch lange nicht, das das Script nicht auf eine Servicemeldung reagieren würde.
Selbst bei Batterie leer Meldung eines nicht im Script aufgeführten Gerätes, sollte die Meldung Batterie leer trotzdem kommen. Es fehlt dann eben nur die Angabe der benötigten Batterie und die Typen. (danke Blackhole für die 2 neuen)
Sollte mal eine nicht näher in deutsch übersetzte Servicemeldung in der Nachricht auftauchen, dann kannst du dich gerne melden.
Die wird es auch sicherlich noch geben, da noch nicht gemeldet.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Frozn
Beiträge: 4
Registriert: 01.04.2017, 22:29

Re: Servicemeldungen *allinclusive* Script

Beitrag von Frozn » 19.06.2018, 20:00

Damit Umlaute (ä, ö, ü, ß) in Zeichenketten für den cURL-Aufruf korrekt kodiert werden, kann man übrigens auch folgende Befehle nutzen:

Code: Alles auswählen

string text = 'a b cämömüm';
WriteLine(text.ToUTF8().UriEncode());
Ausgabe:

Code: Alles auswählen

a%20b%20c%C3%A4m%C3%B6m%C3%BCm
Folgender Code-Block im Skript könnte daher vereinfacht werden:

Code: Alles auswählen

! 04.04.2017
! alte langsame Uebersetzung entfernt Leerzeichen kein Problem mehr bei Mail/Pushover/Telegram/ aber bei Pushbullet & Prowl?
! Sonderzeichen u.U. problematisch bei Pushover & Telegram daher Texte umgestellt
! 02.05.2017 neue Uebersetzung hinzugefügt
string Ersetzen = " ;ü;ä;ö;Ü;Ä;Ö;ß";
string ErsetzenDurch = "%20;%C3%BC;%C3%A4;%C3%B6;%C3%9C;%C3%84;%C3%9F";
string message = slist;integer Pos = 0;integer Index = 0;string Split = "";boolean Loop = true;
foreach (Split, Ersetzen.Split(";")) {
Loop = true;
while (Loop) {
Pos = message.Find(Split);
if (Pos == -1) { Loop = false;
}else{message = message.Substr(0,Pos) # ErsetzenDurch.StrValueByIndex(";",Index)  # message.Substr(Pos + Split.Length() , ((message.Length() - Pos) - Split.Length())  );
}}
Index = Index + 1;
}
Ersetzen durch

Code: Alles auswählen

string message = slist.ToUTF8().UriEncode();
Funktioniert übrigens so auch mit PushBullet.

tubozz
Beiträge: 60
Registriert: 11.01.2018, 22:13
Danksagung erhalten: 3 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von tubozz » 19.06.2018, 20:17

Frozn hat geschrieben:Folgender Code-Block im Skript könnte daher vereinfacht werden:

Ja du hast auch Recht, so wie die andern vor dir.
da Alchy höchstwahrscheinlich eh nicht mehr antwortet

viewtopic.php?f=31&t=24618&start=1180#p434230

alchy hat geschrieben: Natürlich funktioniert die neue Funktion auch. Das ist aber abhängig vom benutzten Dienst und vor allen von der benutzten Rega Version und deshalb nicht eingebaut.

Alchy

Benutzeravatar
Andronid
Beiträge: 265
Registriert: 06.03.2012, 17:52
Wohnort: Beelitz

Re: Servicemeldungen *allinclusive* Script

Beitrag von Andronid » 29.06.2018, 09:49

Hallo Alchy,
ich nutze dein Script schon eine ganze Weile. Vielen Dank erst einmal dafür. Mittlerweile sind sind es schon so viele Beiträge hier, dass ich es garnicht schaffe, alle erst einmal zu lesen, um meine Frage/mein Problem vielleicht doch schon in einem vorherigen Beitrag gelöst zu bekommen. Also hier meine Frage. Kann man die Anzahl der Servicemeldungen, in meinem Fall die Meldung: NEUE SERVICEMELDUNG `Gerät`: Kommunikation zur Zeit gestört seit ..... auf eine bestimmte Anzahl reduzieren? Ich bekomme sie dann nämlich im Minutentakt und dass nervt enorm, ganz besonders, im Urlaub oder Ausland, wo man eh nicht eingreifen kann. Ich will aber den gesamten Push-Verkehr nicht komplett abschalten, denn dann würde ich auch keine Alarmmeldung mehr erhalten. Ansonsten würde mir nur einfallen solche Geräte von der Benachrichtigung auszuschalten, in dem ich die explizit benenne am Anfang.
Beste Grüße
Andronid


--------------------------------------------------------------------------------------------------------
RaspiMatic, Fw: 3.51.6, 132 Kanäle in 66 Geräten und 48 CUxD-Kanäle in 3 CUxD-Geräten:

---------------------------------------------------------------------------------------------------------

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“