Hi,
ich habe aus diesem Video https://www.youtube.com/watch?v=N8IN84K-khY (https://www.youtube.com/watch?v=N8IN84K-khY) ein Notify adaptiert.
Leider löst es nicht aus und ich seh den Baum vor lauter Wäldern nicht :(
Siehe https://haus-automatisierung.com/hardware/fhem/2018/03/03/fhem-tutorial-reihe-part-55-octoprint-integration.html (https://haus-automatisierung.com/hardware/fhem/2018/03/03/fhem-tutorial-reihe-part-55-octoprint-integration.html)
notify:
Internals:
CFGFN
DEF MarieLuise:progress_completion_percent:.* {
if (Value($NAME) eq "Printing") {
my $progressPercent = ReadingsNum($NAME, "progress_completion_percent", 0);
if ($progressPercent % 20 == 0) {
fhem("get 3DDruckerKamera image");
fhem("sleep 2; set WEB_Telegram sendImage ./www/snapshots/3DDruckerKamera_snapshot.jpg Fortschritt: $progressPercent %");
}
}
}
NAME n_MarieLuiseProgressTelegram
NOTIFYDEV MarieLuise
NR 257543
NTFY_ORDER 50-n_MarieLuiseProgressTelegram
REGEXP MarieLuise:progress_completion_percent:.*
STATE 2018-12-18 08:23:41
TRIGGERTIME 1545117821.66022
TYPE notify
READINGS:
2018-12-17 21:31:56 state active
Attributes:
group Kellerlogik
room Logik
Drucker:
Internals:
CFGFN
DEF 192.168.0.9 5000
INTERVAL 45
NAME MarieLuise
NR 662
STATE Printing
TYPE OctoPrint
READINGS:
2018-12-17 19:57:18 job_averagePrintTime 3592.75814306736
2018-12-18 08:43:11 job_estimatedPrintTime 27071.4149146879
2018-12-18 08:43:11 job_filament_tool0_length 16790.9590100215
2018-12-18 08:43:11 job_filament_tool0_volume 0
2018-12-18 08:43:11 job_file_date 1545073064
2018-12-18 08:43:11 job_file_display AI3M_IMG_20181004_120045.jpgW112H150T3V4B5A0C0NS.gcode
2018-12-18 08:43:11 job_file_name AI3M_IMG_20181004_120045.jpgW112H150T3V4B5A0C0NS.gcode
2018-12-18 08:43:11 job_file_origin local
2018-12-18 08:43:11 job_file_path AI3M_IMG_20181004_120045.jpgW112H150T3V4B5A0C0NS.gcode
2018-12-18 08:43:11 job_file_size 60100215
2018-12-17 19:57:18 job_lastPrintTime 3535.66314101219
2018-12-18 08:43:11 job_user dummy
2018-12-18 08:29:43 online true
2018-12-18 08:43:11 progress_completion 0.0649049258808808
2018-12-18 08:43:11 progress_completion_percent 0
2018-12-18 08:43:11 progress_filepos 39008
2018-12-18 08:43:11 progress_printTime 790
2018-12-18 08:43:11 progress_printTimeLeft 26352
2018-12-18 08:43:11 progress_printTimeLeftOrigin analysis
2018-12-18 08:43:11 state Printing
2018-12-18 08:43:11 temperature_bed_actual 58.3
2018-12-18 08:43:11 temperature_bed_offset 0
2018-12-18 08:43:11 temperature_bed_target 57
2018-12-18 08:43:11 temperature_tool0_actual 194.9
2018-12-18 08:43:11 temperature_tool0_offset 0
2018-12-18 08:43:11 temperature_tool0_target 195
helper:
ADDRESS 192.168.0.9
PORT 5000
RUNNING_REQUEST 0
CMD_QUEUE:
Attributes:
apikey XXXXXXXXXXXXXXXXXXXXXXXXXX
event-on-change-reading .*
icon it_printer
room Keller
userReadings progress_completion_percent { sprintf("%d", ReadingsNum($NAME, "progress_completion", 0)) }
Cam:
Internals:
AUTHORITY 192.168.0.9:8080
CFGFN
DEF 192.168.0.9:8080
NAME 3DDruckerKamera
NR 256406
SEQ 0
STATE last: 2018-12-18 08:23:41
TYPE IPCAM
READINGS:
2018-12-18 08:23:41 last 3DDruckerKamera_snapshot.jpg
2018-12-18 08:23:41 snapshot1 3DDruckerKamera_snapshot_1.jpg
2018-12-18 08:23:41 snapshots 1
Attributes:
icon it_camera
path ?action=snapshot
room Keller
storage ./www/snapshots
Die gute Nachricht ist. Dein Notify löst aus. Oder besser gesagt es triggert.
Sorry, für die Laienfrage: Kann ich das auch irgendwo lesen / sichtbar machen?
Die Befehle, werden leider nicht erzeugt - ich sehe keinen SNapshotdatei mit aktueller Uhrzeit und es wird auch keine verschickt :/
Du kannst diesen Befehl
set WEB_Telegram sendImage ./www/snapshots/3DDruckerKamera_snapshot.jpg Fortschritt: $progressPercent %
Auch einfach erstmal in der Kommandozeile von FHEMWEB eintragen. Musst natürlich die Variablen wegnehmen und Werte dafür nehmen
Ansonsten kann ich Dir aktuell noch
https://forum.fhem.de/index.php/topic,94368.0.html
empfehlen.
Wie CoolTux festgestellt hat:
Es Trickert ... also liegt der Fehler innerhalb des DEF:
if (Value($NAME) eq "Printing") {
my $progressPercent = ReadingsNum($NAME, "progress_completion_percent", 0);
if ($progressPercent % 20 == 0) {
fhem("get 3DDruckerKamera image");
fhem("sleep 2; set WEB_Telegram sendImage ./www/snapshots/3DDruckerKamera_snapshot.jpg Fortschritt: $progressPercent %");
}
}
}
Ist die Bedingung den Richtig? z.B. Value($NAME) ????
Ansonsten, mehr Debugmeldungen einbauen und dann Debuggen ...
Du kannst aber auch einfach denjenigen Fragen der den Code geschrieben hat. Also von der Internetseite oder den Youtubekanal oder wo auch immer Du das nun her hast.
Argh. ich hatte einen kleinen Schreibfehler innnerhalb des versendens mit Telegram drin.
Warum er dann kein Foto gemacht hat, verstehe ich nicht, oder habe es nicht korrekt geprüft.
Danke euch.
Wie es steht triggert es und funktioniert.
Habe gleich mal die Tips befolgt und was eingebaut :)