Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Freibier, Neues WG Plugin, Pushbullet Sender für WG
Vielen Dank! Genau das war es! Das ist mir überhaupt nicht aufgefallen da ich noch ca. 30 andere Plugins laufen habe ohne die Endung .pl ...
Mit diesem kleinen Zusatz funktioniert es nun wunderbar.
Hast Du verschiedene Geräte unter Pushbullet im Einsatz? Kann man die Geräte ID noch integrieren um gezielt Nachrichten zu versenden oder
macht man das am besten mit verschiedenen Pushbulletakkounts und einer entprechenden Anzahl an Plugins?
Hallo
Ich habe Pusbullet auf meinen PC , Smartphone u. Pad.
Wenn gewünscht kann ich noch die ID in die config mit aufnehmen,
das man gezielt die Geräte ansprechen kann.
Es wird aber noch ein wenig dauern.
Ich fahre Samstag in den Urlaub.
Gruß NetFritz
KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP
Hallo,
ich bekomme das Plugn leider auch nicht ans Laufen.
Ich habe als Plugin die Version mit mehr Logging verwendet.
Beim Sichern des Plugins erhalte ich die Meldung "Config Error" - im wiregate_plugin.log erhalte ich folgende Meldungen:
Code:
2016-03-16 23:02:51.219,pushbullet.pl,Warning: Subroutine read_from_config redefined at (eval 8900) line 63. 2016-03-16 23:02:51.220,pushbullet.pl,lines # pushbullet.pl - Konfiguration # # GA=>'1/4/20', = GA die getriggert wird # type=>'note' # title=>'' # body_on=>'' = Text wenn GA auf 1 # body_off=>'' = Text wenn GA auf 0 %push=( push =>{GA=>'1/1/5',type=>'note',title=>'Haustuer',body_on=>'AUS',body_o ff=>'EIN'}, ); 2016-03-16 23:02:51.223,pushbullet.pl,config error,0s,
Mit subscribe_debug.pl wird meine GA 1/1/5 nicht aufgelistet.
In der eibga.conf ist die GA jedoch definiert:
Code:
[1/1/5]
DPTSubId = 1.001
short = Haustür
ga = 1/1/5
DPTId = 1
name = Haustür anaus
DPT_SubTypeName = DPT_Switch
# s. https://knx-user-forum.de/forum/supportforen/wiregate/843200-freibier-neues-wg-plugin-pushbullet-sender-f%C3%BCr-wg
# Pushbullet Sender für WG
# In conf GA, title und body eintragen
# wenn GA=1 dann werden title und body gesendet
# by NetFritz KNX-Userforum
# Konfigurationsfile einlesen
my $conf=$plugname; $conf=~s/\.pl$/.conf/;
$conf="/etc/wiregate/plugin/generic/conf.d/$conf";
my %push=();
my $err=read_from_config();
return $err if $err;
#
# in $iso steht Datum-Zeit = 'd.m.Y H:M'
my @dta = localtime(time);
my $iso=sprintf('%02d.',$dta[3]);
$iso.=sprintf('%02d.',$dta[4]+1);
$iso.=($dta[5]+1900)." ";
$iso.=sprintf('%02d:',$dta[2]);
$iso.=sprintf('%02d',$dta[1]);
#
$plugin_info{$plugname.'_cycle'} = 3600;
# Alle GAs aus der config abonnieren
for my $r (grep ref($push{$_}), keys %push)
{
$plugin_subscribe{$push{$r}{GA}}{$plugname}=1;
plugin_log($plugname, "plugin_subscribe $push{$r}{GA}");
}
my $req = "";
my $body = "";
# BUS ueberwachen
if ($msg{'apci'} eq "A_GroupValue_Write") { # A_GroupValue_Write Telegramm eingetroffen
plugin_log($plugname, "subscribe wurde ausgefuehrt");
for my $r (grep ref($push{$_}), keys %push){ # Ueberwachte GAs durchlaufen
if ($msg{'dst'} eq $push{$r}{GA}){ # GAs vergleichen
if($msg{'value'} == 1){
$body = $push{$r}{body_on};
$plugin_info{$plugname.'_'.$r.'_alt'} = 1;
}elsif($msg{'value'} == 0){
$body = $push{$r}{body_off};
$plugin_info{$plugname.'_'.$r.'_alt'} = 0;
}
# Push senden
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
my $ua = LWP::UserAgent->new;
my $req = POST 'https://api.pushbullet.com/v2/pushes',
[
type => 'note',
title => $push{$r}{title},
body => $iso." ". $body
];
$req->authorization_basic('mein_PB_API_Key');
#return ($push{$r}{GA});
print ($ua->request($req)->as_string);
plugin_log($plugname, "$push{$r}{title} $push{$r}{body} $msg{'value'}");
}
}
}
return;
# ------------- config einlesen ----------------------
sub read_from_config
{
open CONFIG, "<$conf" || return "no config found";
my @lines = <CONFIG>;
close CONFIG;
plugin_log($plugname, "lines @lines");
eval("@lines");
return "config error" if $@;
}
Ich hatte das plugin zunächst nur pushbullet genannt - anschließend aber ein neues pushbullet.pl Plugin angelegt und mit dem Garbage-Collector Plugin sind auch die Reste von pushbullet entfernt.
Welche Info könnte noch weiterhelfen, um der Ursache auf die Spur zu kommen?
VG Alex
Hallo
Wie heißt dein Plugin? pushbullet.pl
und deine Config dann pushbullet.conf
Installiere mal das Plugin subscribe_debug.pl und schaue dann ob in der Ausgabe die GrAdr 1/1/5 erscheint.
Code:
# return;
# Einfaches Plugin zum debuggen aller aktiven Plugin-subscriptions
# just zur Doku
$plugin_info{$plugname.'_cycle'} = 3600;
my $ret;
for my $k ( sort keys %plugin_subscribe ) {
for my $p ( keys %{$plugin_subscribe{ $k }} ) {
$ret .= "Plugin $p subscribed to $k\n";
}
}
for my $k ( sort keys %plugin_socket_subscribe ) {
$ret .= "Plugin $plugin_socket_subscribe{$k} subscribed to socket $k\n";
}
#return; # no debug out
return $ret;
Gruß NetFritz
Sehe gerade hast du in deiner conf das so stehen?
body_o ff=>'EIN' muss natürlichbody_off=>'EIN' sein
@alexbeer
Kannst du das ggf in deinem ersten Beitrag dieses Threads anpassen
Erledigt.
Das Freibier bezieht auf die Aussage von StefanW das es von Elaborated Networks kein Freibier mehr gibt.
Als habe ich Freibier in Form eines Plugin ausgegeben.
Gruß NetFritz
KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP
Hi Netfritz,
ich habe eine GA abonniert, die ich zyklisch senden lasse.
Mit jedem Senden der GA bekomme ich nun eine PushBullett Notifizierung. Das ist natürlich nicht gerade hilfreich...
Hast du eine Idee, wie ich die PB-Notifizierung nur dann versende, wenn sich der Zustand ändert?
Viele Grüße Alex
Zuletzt geändert von alexbeer; 18.03.2016, 23:12.
Grund: typo
Das Plugin sendet nur wenn sich der Zustand der GA ändert.
Hast Du schon mal in der ETS geschaut, ob sich der Zustand zwischendurch ändert.
Bekommst Du dann immer nur den Text der in der conf für EIN eingestellt ist? # body_on=>'' = Text wenn GA auf 1
Ändere mal diese Zeile }elsif($msg{'value'} == 0){
so um }elsif($msg{'value'} == 0 && $plugin_info{$plugname.'_'.$r.'_alt'} == 1 ){
Hi,
ETS prüfe ich später- das zyklische senden hatte ich wegen der CometVisu... Wahrscheinlich ist das gar nicht mehr nötig...
Der Zustand ändert sich zwischenzeitlich nicht. Wenn sich der Zustand ändert bekomme ich
Titel+Body= Ein oder Aus per PB.
Wird der GA-Status zyklisch gesendet, dann empfange ich in PB nur den Titel - ohne Body.
Auch mit dem angepassten elsif erhalte ich die zyklisch gesendeten Statusmeldungen.
Hallo
Habe mal in der ETS die GA mit dem gleichen Zustand gesendet, das Plugin sendet die Zustände und Text zu PB.
Werde mal schauen ob ich das abstellen kann.
Gruß NetFritz
KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP
Hallo
Habe den Aufruf zu PB in eine Sub gepackt.
Jetzt wird nur noch zu PB gesendet wenn sich der Zustand geändert hat.
Leider ist das dann auch beim ersten Aufruf so.
Gruß NetFritz
pushbullet.pl
Code:
no warnings;
#return;
# Pushbullet Sender für WG
# In conf GA, title und body eintragen
# wenn GA=1 dann werden title und body gesendet
# by NetFritz KNX-Userforum
# Konfigurationsfile einlesen
my $conf=$plugname; $conf=~s/\.pl$/.conf/;
$conf="/etc/wiregate/plugin/generic/conf.d/$conf";
my %push=();
my $err=read_from_config();
return $err if $err;
#
# in $iso steht Datum-Zeit = 'd.m.Y H:M'
my @dta = localtime(time);
my $iso=sprintf('%02d.',$dta[3]);
$iso.=sprintf('%02d.',$dta[4]+1);
$iso.=($dta[5]+1900)." ";
$iso.=sprintf('%02d:',$dta[2]);
$iso.=sprintf('%02d',$dta[1]);
#
$plugin_info{$plugname.'_cycle'} = 3600;
# Alle GAs aus der config abonnieren
for my $r (grep ref($push{$_}), keys %push)
{
$plugin_subscribe{$push{$r}{GA}}{$plugname}=1;
plugin_log($plugname, "GA= $push{$r}{GA}");
#$plugin_info{$plugname.'_'.$r.'_alt'} = knx_read("$push{$r}{GA}",300,"");
}
my $req = "";
my $body = "";
# BUS ueberwachen
if ($msg{'apci'} eq "A_GroupValue_Write") { # A_GroupValue_Write Telegramm eingetroffen
plugin_log($plugname, "Telegramm test ist da");
for my $r (grep ref($push{$_}), keys %push){ # Ueberwachte GAs durchlaufen
plugin_log($plugname, "1 $push{$r}{title} $push{$r}{body} $msg{'value'}");
if ($msg{'dst'} eq $push{$r}{GA}){ # GAs vergleichen
if($msg{'value'} == 1 && $plugin_info{$plugname.'_'.$r.'_alt'} == 0 ){
#plugin_log($plugname,"PluginInfo 0= $plugin_info{$plugname.'_'.$r.'_alt'}";
$body = $push{$r}{body_on};
send_push($iso,$body,$push{$r}{title});
$plugin_info{$plugname.'_'.$r.'_alt'} = 1;
}elsif($msg{'value'} == 0 && $plugin_info{$plugname.'_'.$r.'_alt'} == 1 ){
$body = $push{$r}{body_off};
send_push($iso,$body,$push{$r}{title});
$plugin_info{$plugname.'_'.$r.'_alt'} = 0;
}
}
}
}
# Push senden
sub send_push{
my $iso1 = $_[0];
my $body1 = $_[1];
my $push1 = $_[2];
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
my $ua = LWP::UserAgent->new;
my $req = POST 'https://api.pushbullet.com/v2/pushes',
[
type => 'note',
title => $push1,
body => $iso1." ". $body1
];
$req->authorization_basic('xxxxxxxxxxxxxxxxxxxxxxxx');
#return ($push{$r}{GA});
print ($ua->request($req)->as_string);
}
return;
# ------------- config einlesen ----------------------
sub read_from_config
{
open CONFIG, "<$conf" || return "no config found";
my @lines = <CONFIG>;
close CONFIG;
eval("@lines");
return "config error" if $@;
}
pushbullet.conf
Code:
# pushbullet.pl - Konfiguration
#
# GA=>'1/4/20', = GA die getriggert wird
# type=>'note'
# title=>''
# body_on=>'' = Text wenn GA auf 1
# body_off=>'' = Text wenn GA auf 0
%push=(
push =>{GA=>'1/3/74',type=>'note',title=>'WP',body_on=>'AUS',body_off=>'EIN'},
);
KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar