Seite 4 von 9

Re: HomeHub Version 3.2

Verfasst: 14.04.2021, 11:22
von Gerti
Hi!

Bei einer Variable mit nur zwei Zuständen (true/false), muss im Prinzip auch dieser Wert übergeben werden.
Damit auch 0 und 1 funktioniert, bitte in der script.js in Zeile 3963 folgendes hinzufügen:

Code: Alles auswählen

if (indicator_array[0].trim() === '1') { indicator_array[0] = 'true'; }
else if (indicator_array[0].trim() === '0') { indicator_array[0] = 'false'; }
Der gesamte Abschnitt muss dann so aussehen

Code: Alles auswählen

case 'SysVar':
  switch (datapoint) {
      case '2':
          // Yes/No 
          
          var indicator = $('[data-id="' + ise_id + '"]').attr('data-indicator');
                           
          if (indicator !== "-1") {
            // Liste suchen und zerlegen
            var res = indicator.search(",");
            if (res > -1) {
              
              var indarray = indicator.split(';');
              for (var i = 0; i < indarray.length; i++){
                var indicator_array = indarray[i].split(',');
                if (indicator_array[0].trim() === '1') { indicator_array[0] = 'true'; }
                else if (indicator_array[0].trim() === '0') { indicator_array[0] = 'false'; }
                if (value === indicator_array[0].trim()){
                  if (indicator_array[1].trim() === "true") {
                     var on_type = "true";
                     var off_type = "false";
                     var snd_off_type = "alarm";
                     var trd_off_type = "warn";
                  }
.
.
.
Gruß,
Gerti

Re: HomeHub Version 3.2

Verfasst: 15.04.2021, 00:12
von BitMac
Hallo Gerti,
hab's eingebaut und getestet. Leider keine Änderung.
Bei mir war die zu ändernde Zeile aber ganz woanders.
D.h. wir haben unterschiedliche Versionen von script.js.
Ich benutze dein letztes Update, die Vers.3.21 vom 26.3..
Dort ist die von dir beschriebene Stelle unterhalb der Zeile 3941.

Gruß
Andreas

Re: HomeHub Version 3.2

Verfasst: 17.04.2021, 21:21
von BitMac
Ich habe wahrscheinlich die Ursache gefunden.
ich habe mir die Sysvarlist.cgi angeschaut und die Unterschiede gesucht zwischen den Alarmvariablen die funktionieren und denen die nicht funktionieren. Die Variablen haben ja folgende Properties:
Beispiel:
<systemVariable name="WatchDog-Alarm"
variable="4"
value=""
value_list=""
ise_id="2703"
min=""
max=""
unit=""
type="2"
subtype="6"
logged="false"
visible="true"
timestamp="0"
value_name_0="nicht ausgelöst"
value_name_1="ausgelöst"/>

Immer wenn timestamp="0" ist, funktioniert der Indicator nicht !

Gruß
Andreas

Re: HomeHub Version 3.2

Verfasst: 17.04.2021, 21:28
von Gerti
Hi,

muss ich mir mal anschauen.

Gruß
Gerti

Re: HomeHub Version 3.2

Verfasst: 19.04.2021, 09:10
von Gerti
Hi!

Es hängt nicht mit dem Timestamp zusammen, sondern damit, dass es kein value gibt.
Da die noch keinen Timestamp hat, ist der Value-Wert wohl leer.
Du kannst mal folgende Änderung in der script.js vornehmen, also if (value === '') value = "false"; einfügen:

Code: Alles auswählen

case '2':
                                // Yes/No 
                                
                                var indicator = $('[data-id="' + ise_id + '"]').attr('data-indicator');
                                if (value === '') value = "false";                
                                if (indicator !== "-1") {
                                  // Liste suchen und zerlegen
Gruß,
Gerti

Re: HomeHub Version 3.2

Verfasst: 19.04.2021, 13:03
von BitMac
Danke Gerti,
Das war's. Funzt jetzt.

Viele Grüße
Andreas

Re: HomeHub Version 3.2

Verfasst: 19.04.2021, 18:38
von BitMac
So, jetzt geht's weiter.
Mir ist nicht klar, wie man HM-Geräte einbinden kann.

Hintergrund:
Ich habe ein CUxD-Systemgerät erstellt (hier CUX2801001:3).
Dort habe ich als Befehl eine plink-Funktion hinterlegt, um den Homehub-Raspberry runterfahren zu können, ohne mich jedesmal manuell über SSH einzuloggen. (plink -ssh -t -pw <passwort> root@homehub.fritz.box /sbin/shutdown -h now)
Funktioniert auch soweit.

Wie kann ich aber jetzt das CUxD-Gerät in Homehub einbinden.
Ich möchte nicht extra für den einen Befehl eine eigene Kategorie anlegen.
Mir schwebt vor, das Gerät so wie eine Systemvariable in einer bestehenden Kategorie zu verwenden.
Oder geht das so nicht ?

Gruß
Andreas

Re: HomeHub Version 3.2

Verfasst: 19.04.2021, 19:03
von Gerti
Hi,

leg Dir doch einfach ein Programm an, dass Du durch eine virtuelle Taste auslöst. Dann kannst Du in HomeHub entweder die Taste hinterlegen oder das Programm direkt starten.

Gruß
Gerti

Re: HomeHub Version 3.2

Verfasst: 19.04.2021, 19:16
von BitMac
Hallo Gerti,
Das Verständnisproblem ist für mich das Gleiche.
Eine virtuelle Taste ist ja auch ein Gerät.
Wie verwende ich denn ein Gerät in HomeHub ?

Gruß
Andreas

Re: HomeHub Version 3.2

Verfasst: 19.04.2021, 19:20
von Gerti
Hi,

verstehe die Frage nicht.
Im Beispiel sind doch auch Geräte drin.
Wird im Prinzip nicht anders angelegt wie eine Systemvariable.

Gruß
Gerti