Auslösenden Rauchmelder finden

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

Moderator: Co-Administratoren

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

Re: Auslösenden Rauchmelder finden

Beitrag von alchy » 25.01.2016, 18:05

Zum Test kannst du auch die Zeile

Code: Alles auswählen

if(state.Value()){
zu

Code: Alles auswählen

 if(!state.Value()){
also mit Ausrufezeichen ! vor state :mrgreen:

ändern. Damit solltest du eine Liste aller, zur Laufzeit NICHT ausgelösten, Rauchmelder bekommen. Gleich mal als Überprüfung, ob du alles richtig in den/das entsprechende Favoriten/Gewerk zugeordnet hast.

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
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Auslösenden Rauchmelder finden

Beitrag von Dragonfly » 27.01.2016, 11:07

Hallo Alchy - pushover testet sich soweit hervorragen....

Code: Alles auswählen

var HTML ="1"; ! 1 use html codes at the message
ist zwar konfigurierbar, aber leider nicht im Aufruf eingebaut.
Was aber nicht das Problem ist.

Leider krieg ich das Mail nicht hin - ich weiß nicht wo die Anführungszeichen beginnen und aufhören.
Mails kommen ohne Inhalt an:

Code: Alles auswählen

! 3. at the mail addon at TCL index tab the first line is "set serviceliste [encoding convertfrom utf-8 [lindex $argv 1]]" w/o "
! 4. you wrote "$serviceliste" w/o " at the mail ID template
ich hab schon einige Varianten versucht - z.B.:

Code: Alles auswählen

TCL:
set serviceliste [encoding convertfrom utf-8 [lindex $argv 1]]" w/o "

MAIL:
$serviceliste" w/o "
und vermutlich die richtige Kombination nicht :oops:
Muß nicht "load tclrega.so" als erste Zeile in die TCL rein (hat das Problem auch nicht gelöst)??

Vielen Dank schonmal..... Tom

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Auslösenden Rauchmelder finden

Beitrag von Dragonfly » 27.01.2016, 14:34

Passt scho!

w/o = without :mrgreen:

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

Re: Auslösenden Rauchmelder finden

Beitrag von alchy » 27.01.2016, 15:01

sorry für die Unklarheit, ja w/o = ohne :oops:

Code: Alles auswählen

set serviceliste [encoding convertfrom utf-8 [lindex $argv 1]]
gehört in den TCL Reiter als erste Zeile rein geschrieben.
Wer z.B. mein Allinc Script einsetzt braucht das natürlich nicht noch mal zu machen.
Es darf auch nur eine Zeile geben die auf lindex $argv 1 verweist.
Man kann diese dann überall so benutzen zur Übergabe.

HTML editier ich oben rein, danke für den Hinweis.

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.

ostalb-link
Beiträge: 20
Registriert: 29.01.2013, 11:14

Re: Auslösenden Rauchmelder finden

Beitrag von ostalb-link » 02.02.2016, 18:59

Habe das programm in meiner CCU1 (V1.519 ) erzeugt und das skript implementiert, leider nur mit mäßigen Erfolg.
Namen des auslösenden Melders scheint nicht erkannt zu werden- Folge: Variable list ist leer - keine Email

habe daher zum testen die If-zeile rausgenommen so dass ich den Email versand prüfen konnte.
Effekt: bei auslösendem Rauchmelder wird Email erzeugt und versand, jedoch ohne Name des Rauchmelders

Meine Schlußfolgerung: script liefert keinen string für die Variable list (name des Rauchmelders)

Woran kann es liegen?

Code: Alles auswählen

       var sec=dom.GetObject("Brandmelde-Zentrale");
    string i;
    string list;
    list="";
    foreach(i,sec.EnumUsedIDs())
    {
      var item=dom.GetObject(i);
      if(item.IsTypeOf(OT_CHANNEL))
      {
        var dev=dom.GetObject(item.Device());
        if(dev.HssType()=="HM-Sec-SD")
        {
           var state=item.DPByHssDP("STATE");
           if(state.Value())
           {
              list = list # dev.Name();
           }
        }
      }
    }
string stdout;
string stderr;
system.Exec("/etc/config/addons/email/email 02 '"+list+"'",&stdout,&stderr);

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

Re: Auslösenden Rauchmelder finden

Beitrag von alchy » 09.02.2016, 21:00

^^ das obige Script ist an sich auf den ersten Blick in Ordnung und sollte den Namen des ausgelösten Rauchmelders übermitteln. Fraglich, warum diese Version verwendet wird, aber es sollte so auch funktionieren.

Vorausgesetzt:
- deine Rauchmelder befinden sich im Gewerk / Favoriten .... mit Namen "Brandmelde-Zentrale" und es gibt kein weiteres Objekt mit diesem Namen.
- bei Auslösung des Scriptes hat auch einer der Rauchmelder ausgelöst.
- im Mailaddon ist lindex richtig konfiguriert.
....

Aber

von der Verwendung des bösen system.exec ist unbedingt abzuraten!

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.

wendy2702
Beiträge: 463
Registriert: 05.03.2014, 19:31
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Auslösenden Rauchmelder finden--> Mail OK / Push NOK

Beitrag von wendy2702 » 11.02.2016, 16:33

Hi,

ich habe gerade das Skript implementiert. Der Mailversand funktioniert prima nachdem ich diese Zeile

Code: Alles auswählen

if(state.Value()){


in diese änder:

Code: Alles auswählen

if(!state.Value()){
Pushover funktioniert bei mir nur wenn ich das hier entferne:

Code: Alles auswählen

-d html='"#HTML#"
[EDIT by Alchy]
Script habe ich von >> H I E R <<
ich habe Fullquote des Scriptes entfernt, um es besser pflegen zu können.
[/EDIT by Alchy]

Habe ich die letzte gültige Version des Scripts erwischt?

Danke für eure Hilfe
Zuletzt geändert von alchy am 12.02.2016, 09:07, insgesamt 1-mal geändert.
Grund: Fullquote des Scriptes entfernt um Versionen besser pflegen zu können
piVCCU3/iobroker mit einigen Aktoren, Sensoren, Empfängern und Sendern.

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

Re: Auslösenden Rauchmelder finden--> Mail OK / Push NOK

Beitrag von alchy » 12.02.2016, 08:56

wendy2702 hat geschrieben:Hi,

ich habe gerade das Skript implementiert. Der Mailversand funktioniert prima nachdem ich diese Zeile

Code: Alles auswählen

if(state.Value()){


in diese änder:

Code: Alles auswählen

if(!state.Value()){
Natürlich - so hatte ich es ja geschrieben.
Wer das Script testen will muss entweder einen Rauchmelder auch auslösen, oder für den Test des Scriptes
kann man auch alle NICHT ausgelösten Rauchmeldernamen verschicken in dem man die Zeile so abändert.

ABER nicht vergessen:
Grundsätzlich muss die Zeile natürlich dann wieder zurückgeändert werden, wenn das Script in das
entsprechende " Rauchmelder hat ausgelöst Programm "integriert ist.
wendy2702 hat geschrieben: Pushover funktioniert bei mir nur wenn ich das hier entferne:

Code: Alles auswählen

-d html='"#HTML#"
Habe ich die letzte gültige Version des Scripts erwischt?

Danke für eure Hilfe


Ja da hast du einen Fehler gefunden. Bei späteren Editieren ist ein ' zuwenig reingekommen.
Hab das jetzt >> H I E R << entsprechend korrigiert.

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.

scav
Beiträge: 80
Registriert: 26.09.2015, 16:26
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: Auslösenden Rauchmelder finden

Beitrag von scav » 09.10.2016, 19:05

Eine Frage betreffend der Rauchmelder Gruppen. In einem normalen Einfamilienhaus, sollte man eher eine paar Gruppen erstellen (z.Bsp.: eine pro Flur) oder ist es sinnvoller nur eine große Gruppe zu machen.

Bin noch nicht ganz im klaren, was den Sinn der Rauchmelder-gruppen angeht; was die Vor- und Nachteile von Gruppen sind und wie man am besten die Aufteilung im Haus plant.

Benutzeravatar
robbi77
Beiträge: 13860
Registriert: 19.01.2011, 19:15
System: CCU
Wohnort: Landau
Hat sich bedankt: 182 Mal
Danksagung erhalten: 739 Mal

Re: Auslösenden Rauchmelder finden

Beitrag von robbi77 » 09.10.2016, 19:55

Wenn ein Rauchmelder einer Gruppe Rauch erkennt piepst die ganze Gruppe. Wenn du 2 Gruppen hast, piepst halt dann nur die eine Gruppe.
Wenn du im EFH pro Flur/Etage eine Gruppe machst, bekommst du vermutlich im OG nicht mit wenn's im Keller brennt.


Gruß
Roberto
(+1)
Bei Risiken und Nebenwirkungen fragen Sie den Elektriker Ihres geringsten Mißtrauens!
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...

Antworten

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