Mein 3D-Drucker sprich MQTT

Verlinken der Variablen erhöht ja den Verbrauch nicht, das Problem wären eher die vielen Variablen, welche geliefert werden.
Was machst du genau mit dem Script? Verstehe das zu wenig :grinning:

Ja genau das meine ich.
Bei JSON wird wirklich alles angelegt.

Das Skript hab ich erstmal nur initial zum testen erstellt.
Es wird der aktuelle JSON ausgelesen, dabei stellt man das Topic auf String und man erhält nur eine Variable.

Bei Aktualisierung wird dieses Skript aufgerufen, was den String einliest und parst.
Es wird ein Objekt erstellt mit den Variablen die man will, hier im Beispiel nur zwei Stück angelegt.

Dann kann man dieses Ergebnis vorhandenen Variablen zuweisen.
Somit hat man nur die Variablen die man wirklich will.

Ja, das ist schon ein Problem mit den Variablen, wenn man ein Limit hat.
Hatte ich auch ein Jahr lang, hat nicht lange gereicht :smile:

Habe dir noch einen Tipp betreffs Verbindungsaufbau der IO-Instanz nach dem Einschalten des Druckers.
Ich schalte den Drucker eh über einen Plug und lasse nach 30 sek dieses Script laufen, welches die IO-Instanz neu startet. Und schwupp, ist der Drucker mit Symcon verbunden.

<?php

$instanceID = 13394;
IPS_SetProperty($instanceID, 'Open', false);
IPS_ApplyChanges($instanceID);

IPS_SetProperty($instanceID, 'Open', true);
IPS_ApplyChanges($instanceID);

Guter Tip, werde ich mir auch mal ansehen und testen.
Hab das selbe Problem, schalte den Drucker per Tasmota-Steckdose ein und der MQTT-Client verbindet sich dann nicht automatisch, sondern bleibt im Fehler.

Vielleicht bekomme ich es hin, den Client zu deaktivieren, wenn ich den Drucker ausschalte und nach x Sekunden wieder aktivieren, wenn der Drucker eingeschaltet wird.

Du musst den Client nicht deaktivieren, starte einfach ca. 30 sec nach dem Einschalten des Bambu dieses Script, zb über eine Verlinkung ins WebFront. Dieses beendet die IO-Instanz und startet sie wieder. Dann hast du sofort wieder eine Verbindung zum Drucker.
Bei InstanceID musst du nur noch die Nummer der betreffenden IO-Instanz eintragen, dann läuft das…

Oder noch besser, mach einen Ablaufplan und triggere auf das Einschalten der Steckdose mit 30sec Verzögerung…

1 „Gefällt mir“

Oder so - Ablaufplan hatte ich auch schon dran gedacht, werde ich am WE mal machen.

Ja super für den Tipp.
Hab es jetzt als Ablaufplan mit eingearbeitet.
Funktioniert super

Hey zusammen,
spannendes Thema, danke für alle die soweit hier etwas beigetragen haben. Dank eurer Informationen und etwas kreativem googlen konnte ich auch die MQTT Verbindung zum laufen bringen und erhalte nun Daten des Druckers in Variablen - so weit so gut & das funktioniert auch alles.

Eine Frage für euch.

Ich habe eine externe Beleuchtung auf Basis von WLED realisiert. WLED binde ich bereits in mein Symcon ein und kann es auch steuern. Ich möchte nun gerne, wenn der Kamerafeed, z.B. durch die App oder Bamub Studio aktiviert wird, diese Beleuchtung automatisch einschalten und anschließend wieder ausschalten.
Mein Problem: Ich finde keine passende Variable die mir den Zustand der Kamera darstellt.
Hat jemand sowas gefunden oder eine kreative Idee wie das gehen könnte?

Danke im Voraus!
Christian

Hallo,

es gibt ( zumindest bei meinem X1 ) ein paar Variablen zum Status der Kamera.
Zudem gibt es Variablen für das Licht, aber die scheine zumindest bei mir keinerlei Funktion zu haben, egal ob das fest verbaut LED-Licht an oder aus ist, die Variable bleibt auf „on“

Hallo,
vielen Dank für deine Antwort - die habe ich auch entdeckt und stimme dir zu. Entweder inaktiv oder nicht relevant. Ein paar habe ich mir auf Archiv ins Webfront gelegt um sie zu beobachten. ipcam_dev ändert sich bei mir nie, egal welcher Betriebszustand.

Das Kammerlicht unter light_report → Index (1) → mode solltest du evtl. nochmal checken ob da ein Problem mit deiner Anbindung vorhanden ist. Für mich stellt das korrekt den Betriebszustand der integrierten LED dar. Scheint im Sync zu sein mit der Variable led_mode unter ‚system‘.
FW vom Drucker: 01.05.01.00

Die Variablen unter ‚liveview‘ schienen noch relevant zu sein. Wenn der Kamerafeed länger nicht via App oder Studio abgefragt wurde werden ‚authkey‘ und ‚passwd‘ aufgefrischt. Die anderen Variablen scheinen mir aber alle statisch zu sein.

Ja das stimmt, hatte zwischenzeitlich auf die Variabel gelöscht, neu anlegen lassen und neu verlinkt, seitdem zeigt die auch den richtigen Status an.

Muss aber auch gestehen, das ich in letzten Zeit wenig an IPS gemacht habe, dafür viele 3D-Drucke :slight_smile:
Bin gerade dabei, eine Filament-Profile für meine Nicht-BambuLab-Filamente zu erstellen, die Daten werden teilweise ja auch per MQTT übertrage für die Slots im AMS.

Hab da ne coole Darstellung im Kopf, weiss nur noch nicht wie ich das in IPS umsetzen kann.

EDIT: hat schon jemand die Daten aus dem Topic „$SYS/broker“ angezeigt bekommen in IPS, da sind Daten vom Mainboard wie Load usw…

Wenn ich das Topic eintrage kommst nicht, im MQTT-Explorer bekomme ich aber stetig Updates rein.

Ist es inzwischen möglich vom X1C den Videostream zu bekommen?
Wird es in absehbarer Zukunft ein IPS Modul für die Integration der Bambulab 3d Drucker geben?

Steht in der BambuLab Wiki, wie man den mit anderen Programmen sehen kann.

Mit VLC auf dem MacBook bei mir geht es aber nicht, das funktioniert wohl nur unter Windows.

Hallo Zusammen,

Auf welchem Betriebssystem habt ihr eurer IPS laufen?
Unter Ubuntu bekomme ich keine Verbindung zum P1S.

Auf einen Windows IPS Klappt die Verbindungs zum P1S ohne Probleme und die Daten kommen.

Alles ist gleich Konfiguriert. Scheint mir also irgendwie an Ubuntu zu liegen.

Grüße
Daniel

Scheint sich erledigt zu haben.

Hab auf dem Ubuntu IPS nochmal den MQTT Splitter & I/O gelöscht und neu angelegt.
Jetzt kommen die Daten vom P1S.

Grüße
Daniel

Tag,

weiß jemand, wie man einen RGB-Farbwert in HEX in eine Farbe umwandeln kann, also das ein Farbfeld im View angezeigt wird ?

Der Bambulab schickt ja die Farbwerte der im AMS eingesetzten Filamentrollen mit:
Beispiel das ist Cyan, die letzten beiden Stelle (FF) können abgeschnitten werden, dann stimmt das auch mit den Angaben des Herstellers überein.

Ich habe die Farben Momentan so gelöst:

<?php
 $hex_string = GetValueString(19084);
 $hex = substr($hex_string, 0, -2);
 $dec = hexdec($hex);
 //print $dec;
 SetValueInteger(45521,$dec);

Ziel ist eine Integer Variable mit Profil ~HexColor

2 „Gefällt mir“

Cool, danke, funktioniert wunderbar.

So ich habe mal in python eine MQTT Bridge geschrieben, damit wird vom Bambu MQTT Brocker auf dem Drucker auf einen anderen MQTT Brocker die Werte geschrieben…

Wenn jemand evtl. erklären könnte wie ich, egal ob mit php oder python usw. ein MJPG Live stream mit einem Overlaytext versehen kann wäre das der Hammer :wink:

Hier ein Auszug vom JSON als Array:

Array
(
    [print] => Array
        (
            [upload] => Array
                (
                    [status] => idle
                    [progress] => 0
                    [message] => 
                )

            [nozzle_temper] => 195.125
            [nozzle_target_temper] => 195
            [bed_temper] => 65.0625
            [bed_target_temper] => 65
            [chamber_temper] => 5
            [mc_print_stage] => 2
            [heatbreak_fan_speed] => 9
            [cooling_fan_speed] => 3
            [big_fan1_speed] => 3
            [big_fan2_speed] => 3
            [mc_percent] => 17
            [mc_remaining_time] => 165
            [ams_status] => 263
            [ams_rfid_status] => 2
            [hw_switch_state] => 1
            [spd_mag] => 100
            [spd_lvl] => 2
            [print_error] => 0
            [lifecycle] => product
            [wifi_signal] => -63dBm
            [gcode_state] => RUNNING
            [gcode_file_prepare_percent] => 100
            [queue_number] => 0
            [queue_total] => 0
            [queue_est] => 0
            [queue_sts] => 0
            [project_id] => 35872002
            [profile_id] => 35556785
            [task_id] => 69734166
            [subtask_id] => 69734167
            [subtask_name] => Stich topper
            [gcode_file] => Stich topper.3mf
            [stg] => Array
                (
                    [0] => 2
                    [1] => 13
                    [2] => 24
                    [3] => 4
                    [4] => 3
                    [5] => 14
                    [6] => 1
                )

            [stg_cur] => 0
            [print_type] => cloud
            [home_flag] => 3818943
            [mc_print_line_number] => 25335
            [mc_print_sub_stage] => 0
            [sdcard] => 1
            [force_upgrade] => 
            [mess_production_state] => active
            [layer_num] => 2
            [total_layer_num] => 15
            [s_obj] => Array
                (
                )

            [fan_gear] => 60
            [hms] => Array
                (
                )

            [online] => Array
                (
                    [ahb] => 
                    [rfid] => 
                    [version] => 939349166
                )

            [ams] => Array
                (
                    [ams] => Array
                        (
                            [0] => Array
                                (
                                    [id] => 0
                                    [humidity] => 5
                                    [temp] => 0.0
                                    [tray] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [id] => 0
                                                    [remain] => 100
                                                    [k] => 0.019999999552965
                                                    [n] => 1
                                                    [tag_uid] => 0000000000000000
                                                    [tray_id_name] => 
                                                    [tray_info_idx] => GFA00
                                                    [tray_type] => PLA
                                                    [tray_sub_brands] => 
                                                    [tray_color] => 010101FF
                                                    [tray_weight] => 0
                                                    [tray_diameter] => 0.00
                                                    [tray_temp] => 0
                                                    [tray_time] => 0
                                                    [bed_temp_type] => 0
                                                    [bed_temp] => 0
                                                    [nozzle_temp_max] => 240
                                                    [nozzle_temp_min] => 190
                                                    [xcam_info] => 000000000000000000000000
                                                    [tray_uuid] => 00000000000000000000000000000000
                                                )

                                            [1] => Array
                                                (
                                                    [id] => 1
                                                    [remain] => 100
                                                    [k] => 0.019999999552965
                                                    [n] => 1
                                                    [tag_uid] => 0000000000000000
                                                    [tray_id_name] => 
                                                    [tray_info_idx] => GFA00
                                                    [tray_type] => PLA
                                                    [tray_sub_brands] => 
                                                    [tray_color] => 0D3ADAFF
                                                    [tray_weight] => 0
                                                    [tray_diameter] => 0.00
                                                    [tray_temp] => 0
                                                    [tray_time] => 0
                                                    [bed_temp_type] => 0
                                                    [bed_temp] => 0
                                                    [nozzle_temp_max] => 240
                                                    [nozzle_temp_min] => 190
                                                    [xcam_info] => 000000000000000000000000
                                                    [tray_uuid] => 00000000000000000000000000000000
                                                )

                                            [2] => Array
                                                (
                                                    [id] => 2
                                                    [remain] => 100
                                                    [k] => 0.019999999552965
                                                    [n] => 1
                                                    [tag_uid] => 0000000000000000
                                                    [tray_id_name] => 
                                                    [tray_info_idx] => GFA00
                                                    [tray_type] => PLA
                                                    [tray_sub_brands] => 
                                                    [tray_color] => 35B7E0FF
                                                    [tray_weight] => 0
                                                    [tray_diameter] => 0.00
                                                    [tray_temp] => 0
                                                    [tray_time] => 0
                                                    [bed_temp_type] => 0
                                                    [bed_temp] => 0
                                                    [nozzle_temp_max] => 240
                                                    [nozzle_temp_min] => 190
                                                    [xcam_info] => 000000000000000000000000
                                                    [tray_uuid] => 00000000000000000000000000000000
                                                )

                                            [3] => Array
                                                (
                                                    [id] => 3
                                                    [remain] => 100
                                                    [k] => 0.019999999552965
                                                    [n] => 1
                                                    [tag_uid] => 0000000000000000
                                                    [tray_id_name] => 
                                                    [tray_info_idx] => GFA00
                                                    [tray_type] => PLA
                                                    [tray_sub_brands] => 
                                                    [tray_color] => E057A1FF
                                                    [tray_weight] => 0
                                                    [tray_diameter] => 0.00
                                                    [tray_temp] => 0
                                                    [tray_time] => 0
                                                    [bed_temp_type] => 0
                                                    [bed_temp] => 0
                                                    [nozzle_temp_max] => 240
                                                    [nozzle_temp_min] => 190
                                                    [xcam_info] => 000000000000000000000000
                                                    [tray_uuid] => 00000000000000000000000000000000
                                                )

                                        )

                                )

                        )

                    [ams_exist_bits] => 1
                    [tray_exist_bits] => f
                    [tray_is_bbl_bits] => f
                    [tray_tar] => 3
                    [tray_now] => 3
                    [tray_pre] => 0
                    [tray_read_done_bits] => f
                    [tray_reading_bits] => 0
                    [version] => 45
                    [insert_flag] => 1
                    [power_on_flag] => 
                )

            [vt_tray] => Array
                (
                    [id] => 254
                    [tag_uid] => 0000000000000000
                    [tray_id_name] => 
                    [tray_info_idx] => 
                    [tray_type] => 
                    [tray_sub_brands] => 
                    [tray_color] => 00000000
                    [tray_weight] => 0
                    [tray_diameter] => 0.00
                    [tray_temp] => 0
                    [tray_time] => 0
                    [bed_temp_type] => 0
                    [bed_temp] => 0
                    [nozzle_temp_max] => 0
                    [nozzle_temp_min] => 0
                    [xcam_info] => 000000000000000000000000
                    [tray_uuid] => 00000000000000000000000000000000
                    [remain] => 0
                    [k] => 0.019999999552965
                    [n] => 1
                )

            [lights_report] => Array
                (
                    [0] => Array
                        (
                            [node] => chamber_light
                            [mode] => on
                        )

                )

            [upgrade_state] => Array
                (
                    [sequence_id] => 0
                    [progress] => 
                    [status] => 
                    [consistency_request] => 
                    [dis_state] => 0
                    [err_code] => 0
                    [force_upgrade] => 
                    [message] => 0%, 0B/s
                    [module] => 
                    [new_version_state] => 2
                    [cur_state_code] => 1
                    [new_ver_list] => Array
                        (
                        )

                )

            [ipcam] => Array
                (
                    [ipcam_dev] => 1
                    [ipcam_record] => enable
                    [timelapse] => disable
                    [resolution] => 1536x720
                    [mode_bits] => 3
                )

            [command] => push_status
            [msg] => 0
            [sequence_id] => 9347
        )

)

Was auch cool wäre, wenn man einen Datenpunkt als Auslöser für ein Bild zu schiessen und dann aus den Einzelbildern ein 4k timelaps zu bauen…

Welcehn Datenpunkt könnte man verwenden ? Layerhöhe passt leider nicht :frowning: