NEU! UPGRADE IP 10 verfügbar!
Optimierte Darstellung von VISU Editor und VISU Client - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/8HzePCm3

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur IP 10
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

[TOP TIPP] Status Rsslog

Rund um die CometVisu im Timberwolf Server

Ersteller
Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1168 Mal
Danksagung erhalten: 2076 Mal

Status Rsslog

#1

Beitrag von Robert_Mini »

Hallo @Chris M.!

Gibt es eigentlich was Neues zum Thema rsslog für den Docker am TWS?

Ich hatte das vor einiger Zeit probiert, bin aber nicht weitergekommen. Insbesondere das Zusammenspiel aus rsslog.php im CV Docker und rsslog.php im Plugin-Container (für Plugin Aufrufe zum Schreiben in die rsslog.db) ist mir unklar.
Beide schreiben ja auf einen lokalen Pfad im Docker, ob die rsslog.php aus dem plugin-Container in die rsslog.db im CV-Container schreiben kann, weiß ich nicht, vielleicht über die .db im gemeinsamen Docker-Volume???

Danke und lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1168 Mal
Danksagung erhalten: 2076 Mal

#2

Beitrag von Robert_Mini »

Ich frage hier mal weiter.

Das rsslog plugin läuft => demorss.xml läuft perfekt, von da kann man gut wegarbeiten.

Was mir aktuell fehlt, ist die Möglichkeit per GA o.ä. einen Eintrag zu erzeugen. Ich hatte dazu das Wiregate rsslog-Plugin im Einsatz, das aber im plugin-container derzeit nicht läuft.

Gibt es einen einfachen Weg, per plugin oder GA einen Eintrag per rsslog zu erzeugen ?

Per Browser-URL wird ein Eintrag erzeugt, das gleiche aus dem Plugin klappt aber nicht:

Code: Alles auswählen

$plugin_info{$plugname.'_cycle'} = 300; 
my $url= 'http://192.168.1.10/proxy/visu1/resource/plugins/rsslog/rsslog.php?t[]=fish&c=Tank%201%20water%20change&mapping=StateConfirm';
system "wget $url"; 
return "Ende1";
Danke für eure Ideen!
Nachdem ich das rsslog gesehen habe, mit den coolen Icons für "state", will ich das wieder haben :angry-banghead: :confusion-helpsos: :confusion-helpsign:

Robert
Zuletzt geändert von Robert_Mini am Do Dez 19, 2019 8:51 pm, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

blaubaerli
Reactions:
Beiträge: 2322
Registriert: Sa Sep 15, 2018 10:26 am
Wohnort: Kerpen
Hat sich bedankt: 895 Mal
Danksagung erhalten: 700 Mal

#3

Beitrag von blaubaerli »

Hallo Robert,

hast du da jetzt nicht zwei wgets am Start? Eins unmittelbar im System-Call und ein weiteres in $url...

Beste Grüße

Jens
Zuletzt geändert von blaubaerli am Di Dez 17, 2019 1:42 am, insgesamt 1-mal geändert.
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung
Bitte WIKI lesen.

Ersteller
Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1168 Mal
Danksagung erhalten: 2076 Mal

#4

Beitrag von Robert_Mini »

Danke, das war nur ein Kopierfehler.
Ich habe auch http und https probiert, klappt aber beides nicht.

@Gabi: wget sollte funktionieren, oder gibt es da Einschränkungen?

@Chris M.: wo liegt den die rsslog.php im CV container? Ich könnte ja auch diese Datei in einem gemeinsamen Volume zwischen CV und Plugin-Container aufrufen so wie hier:
https://github.com/OpenAutomationProjec ... nRSSLog.pl

Code: Alles auswählen

get( 'http://wiregate/cometvisu/plugins/rsslog/rsslog.php?r=' . int(time()-$maxAlter) );
angepasst, damit Werte geschrieben werden?

Danke
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1168 Mal
Danksagung erhalten: 2076 Mal

#5

Beitrag von Robert_Mini »

So, falls jemand mitgelesen hat:

Folgendes plugin funktioniert nun:

Code: Alles auswählen

$plugin_info{$plugname.'_cycle'} = 0; 

my $command = "curl -g -k 'https://192.168.1.10/proxy/visu1/resource/plugins/rsslog/rsslog.php?t[]=fish&c=TankTest&mapping=StateConfirm'";
system $command;

return;
Allerdings muss man mit sudo apt-get install curl das curl Paket im plugin-Container nachinstallieren.

Ich werde mir damit erstmal ein kleines Plugin bauen, das auf Basis eines knx-Telegramms Log im rsslog erzeugt.
Ich hoffe, dass zumindest so ein einfacher curl Aufruf (ohne Auswertug) bald auch als Baustein am TWS verfügbar ist. RSSLog ist doch eine sehr nette Ergänzung zur CV, mit der man sich auf Probleme hinweise lassen kann oder sonstige Aktivitäten wie Filterwechsel etc. mit einem Klick protokollieren kann.

Rsslog_Example.png
lg
Robert
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

alexbeer
Reactions:
Beiträge: 394
Registriert: Mi Sep 12, 2018 1:11 am
Wohnort: NRW
Hat sich bedankt: 212 Mal
Danksagung erhalten: 251 Mal

#6

Beitrag von alexbeer »

Hi Robert,
Ich habe mich da noch nicht im Detail mit beschäftigt, könnte man denn nicht mit dem CV- NotificationCenter (https://www.cometvisu.org/CometVisu/de/ ... tions.html) das RSSLOG im PluginContainer ablösen?
VG Alex
VG Alex
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit

Ersteller
Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1168 Mal
Danksagung erhalten: 2076 Mal

#7

Beitrag von Robert_Mini »

Das sind schon 2 Dinge, die sich gut ergänzen:
- Das Nachrichtencenter für die Meldung von Alarmen, Problemen etc.
- Das RSS-Log zum Protokollieren

Wenn ich richtig Bescheid weiß, wird das Nachrichtencenter nicht archiviert/protokolliert (so wie die Nachrichten am Smartphone.

Ich setze das Nachrichtencenter noch nicht ein, könnte aber noch kommen.

Beispiele:
Ich berechne den Füllstand der Enthärtungsanlage mit und schicke bei 30 und 15cm eine Warnung an das rsslog, die ich dort quittieren kann. Das könnte ich ins Nachrichtencenter verlegen (mit dem Risiio, dass es ein Hausbewohner wegklickt).

Das Nachfüllen bestätige ich mit einer Taste in der Visu, die auch das Nachfüllen protokolliert.

Lg
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Auweia
Reactions:
Beiträge: 162
Registriert: Mo Aug 13, 2018 2:48 pm
Wohnort: Barbing
Hat sich bedankt: 59 Mal
Danksagung erhalten: 30 Mal

#8

Beitrag von Auweia »

Super,
das ist genau das was mir noch fehlte bei der Übernahme aller Plugins in den Wolf. :clap:
LG Albert
TWS2600 - #191 + PBM291- restart jederzeit - VPN offen

Ersteller
Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1168 Mal
Danksagung erhalten: 2076 Mal

#9

Beitrag von Robert_Mini »

Freut mich wenn meine Arbeit auch anderen hilft und vor allem auch davon erfährt - Danke für die Info.

Lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1168 Mal
Danksagung erhalten: 2076 Mal

#10

Beitrag von Robert_Mini »

@Auweia!

Ich habe gerade noch das rsslog plugin angepasst, allerdings mit ein paar Einschränkungen:
- Pfad zum TWS muss man manuell eintragen
- Keine Leerzeichen, / o.ä. im Text => das müsste man "escapen", da weiß ich nicht so recht wie man das in Perl automatisch macht (natürlich kann man selbst ein %20 einfügen).
- Nur DPT1 für Value, falls man das verwendet. Mehr brauche ich im Moment nicht und ich habe die eibga.conf nicht gepflegt bzw. habe das auch nicht mehr vor.

lg
Robert

Code: Alles auswählen

### Plugin zum erstellen von RSS-logs

#COMPILE_PLUGIN

###################
### DEFINITION  ###
###################

$plugin_info{$plugname . '_cycle'} = 0; # Aufrufzyklus - never
my $url1 = "https://192.168.1.10/proxy/visu1/resource/plugins/rsslog/rsslog.php?t[]=";
my @actionGA;
# Datenpunkttypen MUESSEN in der globalen config angegeben sein!
# Logeintrag bei bestimmtem Wert
#push @actionGA, { title => "Eintrag1 ohne Wert", content => 'Textinhalt1', tags => "tag1,tag3", trigger_ga => "1/1/11", value => 1 };
# Logeintrag beliebigem Wert: value weglassen 
# %s wird mit sprintf durch den Wert ersetzt, anderes wie %.2f geht auch in content oder title!
# man printf ;)
#push @actionGA, { title => "Eintrag2 mit Wert unabhaengig vom Wert %.2f", content => 'Textinhalt %s', tags => "tag4", trigger_ga => "1/1/11"};

# ACHTUNG: derzeit nur value für DPT1
push @actionGA, { title => "Haustuere", content => 'Haustuere_auf', tags => "security,sensoren", trigger_ga => "6/1/6", value => 1};
push @actionGA, { title => "Haustuere", content => 'Haustuere_zu', tags => "security,sensoren", trigger_ga => "6/1/6", value => 0};
push @actionGA, { title => "ZSS", content => 'Test', tags => "ZSS,maintenance", trigger_ga => "5/0/86"};

########################
### Ende DEFINITION  ###
########################

my $url2;
my $url;

if ($msg{'apci'} eq "A_GroupValue_Write") { # Telegramm eingetroffen
    foreach my $element (@actionGA) {
        if ($msg{'dst'} eq "$element->{trigger_ga}") {
            if (defined $element->{value}) { # skip if value is defined and not what we like
                my $value = int($msg{'data'});
				#plugin_log($plugname, " element: $element->{value} msg: $msg{'data'} value $value");
				
				next unless "$value" eq "$element->{value}"; }
			
			$url2 = $element->{tags}."&c=".$element->{content}."&mapping="."StateConfirm";
			$url = "'".$url1.$url2."'";
			$url = "curl -g -k ".$url;			
			system $url;
			
            return "Done";
        }
    }
} else { # zyklischer Aufruf/initialisierung
    #subscribe GAs
    foreach my $element (@actionGA) {
        $plugin_subscribe{$element->{trigger_ga}}{$plugname} = 1;
    }
	return "GAs angemeldet";
}
return;


Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Antworten

Zurück zu „CometVisu“