iobroker.bambulab
Advanced tools
Comparing version 0.2.0 to 0.3.0-beta.3
@@ -31,16 +31,8 @@ { | ||
{ | ||
"label": "P1P", | ||
"value": "P1P" | ||
"label": "P1-Series", | ||
"value": "P1-Series" | ||
}, | ||
{ | ||
"label": "P1s", | ||
"value": "P1s" | ||
}, | ||
{ | ||
"label": "X1", | ||
"value": "X1" | ||
}, | ||
{ | ||
"label": "X1-Carbon", | ||
"value": "X1-Carbon" | ||
"label": "X1-Series", | ||
"value": "X1-Series" | ||
} | ||
@@ -47,0 +39,0 @@ ], |
{ | ||
"common": { | ||
"name": "bambulab", | ||
"version": "0.2.0", | ||
"version": "0.3.0-beta.3", | ||
"news": { | ||
"0.3.0-beta.3": { | ||
"en": "Add missing definitions to ensure correct creation of states, resolves #39\nAdjust log level for Unknown Message from error to debug, resolves #39\nReduce selection dropdown in admin config to printer series instead of a specific printer type\nUpdate adapter code to support new firmware versions released by bambulab, please ensure your printer is up-to-date! resolves #46, resolves #38, resolves #26,", | ||
"de": "Hinzufügen fehlender Definitionen, um die korrekte Erstellung von Zuständen zu gewährleisten, löst #39\nPassen Sie die Protokollebene für unbekannte Nachricht von Fehler zu Debug an, löst #39\nReduzieren Sie die Auswahl Dropdown in Admin config auf Druckerserie anstelle eines bestimmten Druckertyps\nUpdate-Adaptercode, um neue Firmware-Versionen von bambulab zu unterstützen, stellen Sie bitte sicher, dass Ihr Drucker aktuell ist! löst #46, löst #38, löst #26,", | ||
"ru": "Добавьте недостающие определения, чтобы обеспечить правильное создание государств, решает #39\nОтрегулируйте уровень лога для неизвестного сообщения от ошибки до отладки, решает #39\nУменьшить отбор в админ конфиг к серии принтера вместо конкретного типа принтера\nОбновите код адаптера для поддержки новых версий прошивки, выпущенных bambulab, пожалуйста, убедитесь, что ваш принтер является современным! решает #46, решает #38, решает #26,", | ||
"pt": "Adicionar definições em falta para garantir a criação correta de estados, resolve #39\nAjuste o nível de log para Mensagem Desconhecida de erro para depuração, resolve #39\nReduza a queda de seleção na configuração de admin para a série de impressora em vez de um tipo específico de impressora\nAtualize o código do adaptador para suportar novas versões de firmware liberadas pelo bambulab, por favor, certifique-se de que sua impressora está atualizada! resolve #46, resolve #38, resolve #26,", | ||
"nl": "Vermiste definities om de juiste creatie van staten te verzekeren\nVerbindingsniveau voor Onbekende Message van fout tot ontploffing 39:\nVerminder de selectie in administratie in plaats van een specifieke printer type\nUpdate adaptercode om nieuwe firmaware versies te ondersteunen, vrijgegeven door Bambulab, zorg ervoor dat je printer op-to-date is! 46, oplossingen 38, oplossingen #26,", | ||
"fr": "Ajouter les définitions manquantes pour assurer la création correcte des états, résout #39\nAjuster le niveau de log pour Message Inconnu d'erreur à debug, résout #39\nRéduire la liste de sélection dans la configuration d'administration à la série d'imprimantes au lieu d'un type d'imprimante spécifique\nMettre à jour le code de l'adaptateur pour soutenir les nouvelles versions du firmware publiées par bambulab, veuillez vous assurer que votre imprimante est à jour! résolution #46, résolution #38, résolution #26,", | ||
"it": "Aggiungi definizioni mancanti per garantire la corretta creazione di stati, risolve #39\nRegolare il livello di registro per messaggio sconosciuto da errore a debug, risolve #39\nRidurre il menu a tendina di selezione nella configurazione di admin alla serie di stampanti invece di un tipo specifico di stampante\nAggiornare il codice adattatore per supportare le nuove versioni del firmware rilasciate da bambulab, assicurarsi che la stampante sia aggiornata! risolve #46, risolve #38, risolve #26,", | ||
"es": "Añadir definiciones desaparecidas para asegurar la correcta creación de estados, resuelve #39\nAjuste el nivel de registro para Mensaje Desconocido del error al depurar, resuelve #39\nReducir el desplegamiento de la selección en el config admin a la serie de impresoras en lugar de un tipo de impresora específico\nActualizar código de adaptador para soportar nuevas versiones de firmware publicadas por bambulab, por favor, asegúrese de que su impresora está actualizada! resuelve #46, resuelve #38, resuelve #26,", | ||
"pl": "Niezapomniane definicje mające na celu zapewnienie odpowiedniego stworzenia stanów, rozwiązały się #39\nAdjust log level for Unknown Message from error to debug (ang.)\nReduce selection dropdown in admin config to print series zamiast konkretnego drukarza\nUpdate adapter Code to support new firmware version, wydany przez bambulab, please your printer is up-to-date! Rozwiązał #46, rozwiązał #38, rozwiązał #26,", | ||
"uk": "Додати відсутні визначення для забезпечення коректного створення держав, вирішень #39\nРегулювання рівня входу для невідомого повідомлення від помилки до видалення, вирішує #39\nЗнижувати виділення випадання в конфігурації адміністратора замість певного типу принтера\nОновлення коду адаптера для підтримки нових версій прошивки, випущених bambulababab, будь ласка, переконайтеся, що ваш принтер є актуальним! вирішує #46, вирішує #38, вирішує #26,", | ||
"zh-cn": "添加关于确保正确建立国家的定义,第39号行动\n第39号行动\n减少对打印机系列的排减量,而不是特定的打印机类型\n最新调整守则,支持巴萨姆勒布发行的新警觉版本,请确保你的打印机最新! 第46号决议,第38号决议,第26号决议," | ||
}, | ||
"0.2.0": { | ||
@@ -7,0 +20,0 @@ "en": "Button for homing added, fixes #28\nBugfix: Translation of HMS-Error codes\nSeveral bugfixes for situations no AMS is used\nRemove control for LED calibration head (could damage hardware)", |
const state_attrb = { | ||
'cooling_fan_speed': { | ||
name: 'Cooling fan Speed', | ||
modify: ['toNumber'], | ||
type: 'number', | ||
unit: '%', | ||
role: 'level', | ||
write: true, | ||
'name': 'Cooling fan Speed', | ||
'modify': ['tonumber'], | ||
'type': 'number', | ||
'unit': '%', | ||
'role': 'level', | ||
'write': true, | ||
}, | ||
'heatbreak_fan_speed': { | ||
name: 'Heatbreak fan Speed', | ||
modify: ['toNumber'], | ||
type: 'number', | ||
unit: '%', | ||
role: 'level' | ||
'name': 'Heatbreak fan Speed', | ||
'modify': ['tonumber'], | ||
'type': 'number', | ||
'unit': '%', | ||
'role': 'level' | ||
}, | ||
'big_fan1_speed': { | ||
name: 'AUX Fan 1 Speed', | ||
modify: ['toNumber'], | ||
type: 'number', | ||
unit: '%', | ||
role: 'level', | ||
write: true, | ||
'name': 'AUX Fan 1 Speed', | ||
'modify': ['tonumber'], | ||
'type': 'number', | ||
'unit': '%', | ||
'role': 'level', | ||
'write': true, | ||
}, | ||
'big_fan2_speed': { | ||
name: 'Chamber Fan 2 Speed', | ||
modify: ['toNumber'], | ||
type: 'number', | ||
unit: '%', | ||
role: 'level', | ||
write: true, | ||
'name': 'Chamber Fan 2 Speed', | ||
'modify': ['tonumber'], | ||
'type': 'number', | ||
'unit': '%', | ||
'role': 'level', | ||
'write': true, | ||
}, | ||
'mc_remaining_time': { | ||
name: 'Remaining Time', | ||
type: 'string', | ||
role: 'value.time' | ||
'name': 'Remaining Time', | ||
'type': 'string', | ||
'role': 'value.time' | ||
}, | ||
'stg_cur': { | ||
name: 'Stage Parser', | ||
type: 'string' | ||
'name': 'Stage Parser', | ||
'type': 'string' | ||
}, | ||
'spd_lvl': { | ||
name: 'Speed Profile', | ||
type: 'number', | ||
role: 'level', | ||
write: true, | ||
states: { | ||
'name': 'Speed Profile', | ||
'type': 'number', | ||
'role': 'level', | ||
'write': true, | ||
'states': { | ||
1: 'silent', | ||
@@ -55,67 +55,670 @@ 2: 'standard', | ||
'bed_temp': { | ||
name: 'Bed Temperature', | ||
type: 'number', | ||
unit: '°C', | ||
role: 'value.temperature', | ||
modify: ['toNumber'] | ||
'name': 'Bed Temperature', | ||
'type': 'mixed', | ||
'unit': '°C', | ||
'role': 'value.temperature', | ||
'modify': ['tonumber'] | ||
}, | ||
'bed_temper': { | ||
name: 'Bed current Temperature', | ||
type: 'number', | ||
unit: '°C', | ||
role: 'value.temperature', | ||
modify: ['toNumber'] | ||
'name': 'Bed current Temperature', | ||
'type': 'number', | ||
'unit': '°C', | ||
'role': 'value.temperature', | ||
'modify': ['tonumber'] | ||
}, | ||
'bed_target_temper': { | ||
name: 'Bed Target Temperature', | ||
type: 'number', | ||
unit: '°C', | ||
role: 'level.temperature', | ||
write: true, | ||
modify: ['toNumber'] | ||
'name': 'Bed Target Temperature', | ||
'type': 'number', | ||
'unit': '°C', | ||
'role': 'level.temperature', | ||
'write': true, | ||
'modify': ['tonumber'] | ||
}, | ||
'chamber_temper': { | ||
name: 'Chamber Temperature', | ||
type: 'number', | ||
unit: '°C', | ||
role: 'value.temperature', | ||
modify: ['toNumber'] | ||
'name': 'Chamber Temperature', | ||
'type': 'number', | ||
'unit': '°C', | ||
'role': 'value.temperature', | ||
'modify': ['tonumber'] | ||
}, | ||
'nozzle_temper': { | ||
name: 'Nozzle current Temperature', | ||
type: 'number', | ||
unit: '°C', | ||
role: 'value.temperature', | ||
modify: ['toNumber'] | ||
'name': 'Nozzle current Temperature', | ||
'type': 'number', | ||
'unit': '°C', | ||
'role': 'value.temperature', | ||
'modify': ['tonumber'] | ||
}, | ||
'nozzle_target_temper': { | ||
name: 'Nozzle target Temperature', | ||
type: 'number', | ||
unit: '°C', | ||
write: true, | ||
role: 'level.temperature', | ||
modify: ['toNumber'] | ||
'name': 'Nozzle target Temperature', | ||
'type': 'number', | ||
'unit': '°C', | ||
'write': true, | ||
'role': 'level.temperature', | ||
'modify': ['tonumber'] | ||
}, | ||
'mc_percent': { | ||
name: 'Printjob finish in percent', | ||
type: 'number', | ||
unit: '%', | ||
write: false, | ||
role: 'level', | ||
modify: ['toNumber'] | ||
'name': 'Printjob finish in percent', | ||
'type': 'number', | ||
'unit': '%', | ||
'write': false, | ||
'role': 'level', | ||
'modify': ['tonumber'] | ||
}, | ||
'mc_print_line_number': { | ||
name: 'Printjob line number', | ||
type: 'number', | ||
write: false, | ||
modify: ['toNumber'] | ||
'name': 'Printjob line number', | ||
'type': 'number', | ||
'write': false, | ||
'modify': ['tonumber'] | ||
}, | ||
lightChamber : { | ||
name: 'Chamber Light', | ||
type: 'boolean', | ||
role: 'state', | ||
read: true, | ||
write: true, | ||
def: false | ||
'lightChamber' : { | ||
'name': 'Chamber Light', | ||
'type': 'boolean', | ||
'role': 'state', | ||
'read': true, | ||
'write': true, | ||
'def': false | ||
}, | ||
'humidity': { | ||
'name': 'Humidity', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'id': { | ||
'name': 'ID', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'temp': { | ||
'name': 'Temperature', | ||
'type': 'string', | ||
'role': 'value.temperature' | ||
}, | ||
'bed_temp_type': { | ||
'name': 'Type of bed', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'cali_idx': { | ||
'name': 'cali_idx', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'cols': { | ||
'name': 'Color', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'ctype': { | ||
'name': 'ctype', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'drying_temp': { | ||
'name': 'Drying Temperature', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'drying_time': { | ||
'name': 'Drying time', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'nozzle_temp_max': { | ||
'name': 'Maximum nozzle temperature', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'nozzle_temp_min': { | ||
'name': 'Minimum nozzle temperature', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'remain': { | ||
'name': 'Remaining time', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'tag_uid': { | ||
'name': 'Tag UID', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tray_color': { | ||
'name': 'Filament color', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tray_diameter': { | ||
'name': 'Filament diameter', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tray_id_name': { | ||
'name': 'Name of tray ID', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tray_info_idx': { | ||
'name': 'Tray IDX information', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tray_sub_brands': { | ||
'name': 'Filament Brand', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tray_type': { | ||
'name': 'Filament type', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tray_uuid': { | ||
'name': 'Filament UUID', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tray_weight': { | ||
'name': 'Filament weight', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'xcam_info': { | ||
'name': 'Xcam info', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'ams_exist_bits': { | ||
'name': 'AMS used', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'insert_flag': { | ||
'name': 'Insert Flag', | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'power_on_flag': { | ||
'name': 'Power on Flag', | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'tray_exist_bits': { | ||
'name': 'Filament present', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tray_is_bbl_bits': { | ||
'name': 'Filament is bbl', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tray_now': { | ||
'name': 'Current used Filament', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tray_pre': { | ||
'name': 'Previous used Filament', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tray_read_done_bits': { | ||
'name': 'Filament initiated', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tray_reading_bits': { | ||
'name': 'Filament initiated', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tray_tar': { | ||
'name': 'Tray Tar', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'version': { | ||
'name': 'Version', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'ams_rfid_statu': { | ||
'name': 'AMS RFID stats', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'ams_status': { | ||
'name': 'AMS status', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'aux_part_fan': { | ||
'name': 'AUX part fan active', | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'cali_version': { | ||
'name': 'Calibration version', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'command': { | ||
'name': 'Last MQTT command sent to printer', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'fail_reason': { | ||
'name': 'Command fail reason', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'fan_gear': { | ||
'name': 'Fan Gear', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'force_upgrade': { | ||
'name': 'Force Upgrade', | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'gcode_file': { | ||
'name': 'Current used gcode file', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'gcode_file_prepare_percent': { | ||
'name': 'gCode file preparation status', | ||
'type': 'string', | ||
'role': 'state', | ||
'unit': '%' | ||
}, | ||
'gcode_start_time': { | ||
'name': 'gCode start time', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'gcode_state': { | ||
'name': 'gCode status', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'home_flag': { | ||
'name': 'Home Flag', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'hw_switch_state': { | ||
'name': 'Hardware Switch state', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'ipcam_dev': { | ||
'name': 'IP-Cam present', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'ipcam_record': { | ||
'name': 'IP-Cam recording', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'mode_bits': { | ||
'name': 'Mode', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'resolution': { | ||
'name': 'Camera resolution', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'rtsp_url': { | ||
'name': 'Camera RTSP stream URL', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'timelapse': { | ||
'name': 'Timelaps activation status', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'tutk_server': { | ||
'name': 'tutk server active', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'layer_num': { | ||
'name': 'Current layer', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'lifecycle': { | ||
'name': 'Lifecycle type', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'mode': { | ||
'name': 'Modus', | ||
'type': 'mixed', | ||
'role': 'state' | ||
}, | ||
'node': { | ||
'name': 'Node', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'maintain': { | ||
'name': 'Maintain', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'mc_print_error_code': { | ||
'name': 'Print error code', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'mc_print_stage': { | ||
'name': 'Print stage', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'mc_print_sub_stage': { | ||
'name': 'Print sub-stage', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'mess_production_state': { | ||
'name': 'Production State', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'msg': { | ||
'name': 'Message', | ||
'type': 'mixed', | ||
'role': 'state' | ||
}, | ||
'nozzle_diameter': { | ||
'name': 'Nozzle_Diameter', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'nozzle_type': { | ||
'name': 'Nozzle type', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'ahb': { | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'ext': { | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'print_error': { | ||
'name': 'Print error', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'print_gcode_action': { | ||
'name': 'Print gCode action', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'print_real_action': { | ||
'name': 'Print real action', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'print_type': { | ||
'name': 'Print type', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'profile_id': { | ||
'name': 'Profile ID', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'project_id': { | ||
'name': 'Project ID', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'queue_est': { | ||
'name': 'Queue estimate', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'queue_number': { | ||
'name': 'Queue number', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'queue_sts': { | ||
'name': 'Queue sts', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'queue_total': { | ||
'name': 'Queue total', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'sdcard': { | ||
'name': 'SD0Card present', | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'sequence_id': { | ||
'name': 'Current sequence ID', | ||
'type': 'mixed', | ||
'role': 'state' | ||
}, | ||
'spd_mag': { | ||
'type': 'mixed', | ||
'role': 'state', | ||
'unit': '%' | ||
}, | ||
'stg': { | ||
'name': 'Stage', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'subtask_id': { | ||
'name': 'Subtask ID', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'subtask_name': { | ||
'name': 'Subtask name', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'task_id': { | ||
'name': 'Task ID', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'total_layer_num': { | ||
'name': 'Total layers', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'ahb_new_version_number': { | ||
'name': 'Printer new version number', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'ams_new_version_number': { | ||
'name': 'AMS new version number', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'consistency_request': { | ||
'name': 'Consistent request', | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'dis_state': { | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'err_code': { | ||
'name': 'Error Code', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'ext_new_version_number': { | ||
'name': 'Extended new version number', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'idx': { | ||
'name': 'IDx', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'message': { | ||
'name': 'Message', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'module': { | ||
'name': 'xxxxx', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'new_version_state': { | ||
'name': 'New Version State', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'ota_new_version_number': { | ||
'name': 'New OTA Version number', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'progress': { | ||
'name': 'Current progress', | ||
'type': 'mixed', | ||
'role': 'state', | ||
'unit': '%' | ||
}, | ||
'sn': { | ||
'name': 'Serial number', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'status': { | ||
'name': 'Current status', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'file_size': { | ||
'name': 'Size of gCode file', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'finish_size': { | ||
'name': 'Finished size', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'oss_url': { | ||
'name': 'OSS URL', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'speed': { | ||
'name': 'Current speed setting', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'time_remaining': { | ||
'name': 'Time remaining', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'trouble_id': { | ||
'name': 'Trouble ID', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'wifi_signal': { | ||
'name': 'Wifi signal strength', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'allow_skip_parts': { | ||
'name': 'Allow to skip parts', | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'buildplate_marker_detector': { | ||
'name': 'Build plate marker detector enabled', | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'first_layer_inspector': { | ||
'name': 'First layer inspection active', | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'halt_print_sensitivity': { | ||
'name': 'Sensibility setting to stop on error', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'print_halt': { | ||
'name': 'Stop print if error occurs', | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'printing_monitor': { | ||
'name': 'Print monitoring enabled', | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'spaghetti_detector': { | ||
'name': 'Spaghetti detector enabled', | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'xcam_status': { | ||
'name': 'xCam status', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'gcode_start_timeFormatted': { | ||
'name': 'xxxx', | ||
'type': 'string', | ||
'role': 'state' | ||
}, | ||
'hmsErrors': { | ||
'name': 'HMS error occurred', | ||
'type': 'boolean', | ||
'role': 'state' | ||
}, | ||
'hmsErrorCount': { | ||
'name': 'HMS error counts', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
't_utc': { | ||
'name': 'UTC time stamp', | ||
'type': 'number', | ||
'role': 'state' | ||
}, | ||
'ams_rfid_status': { | ||
'name': 'AMS RFID status', | ||
'type': 'number', | ||
'role': 'state' | ||
} | ||
}; | ||
@@ -122,0 +725,0 @@ |
73
main.js
@@ -90,6 +90,4 @@ 'use strict'; | ||
// Start interval to request data of P1P series | ||
if (this.config.printerModel !== 'X1' && this.config.printerModel !== 'X1-Carbon'){ | ||
this.requestDatap1pSeries(); | ||
} | ||
// After new firmware release this summer all data must be requested 1 time at adapter start | ||
this.requestData(); | ||
}); | ||
@@ -119,3 +117,3 @@ | ||
} else { | ||
this.log.error(`Unknown Message ${JSON.stringify(message)}`); | ||
this.log.debug(`Unknown Message ${JSON.stringify(message)}`); | ||
} | ||
@@ -183,3 +181,2 @@ | ||
message.print.control.spd_lvl = message.print.spd_lvl; | ||
message.print.control.control.spd_lvl = message.print.spd_lvl; | ||
} | ||
@@ -235,3 +232,3 @@ if (message.print.bed_target_temper != null) message.print.control.bed_target_temper = message.print.bed_target_temper; | ||
// For some reasons the ams related bed_temp is not converted to number by library when value = 0 | ||
// For some reason library does not convert the ams related bed_temp to number when value = 0 | ||
if (message.print.ams != null && message.print.ams.ams_exist_bits != null && message.print.ams.ams_exist_bits === '1') { | ||
@@ -260,26 +257,26 @@ // Call function to handle states for AMS unit | ||
if (!amsData[unit].tray[tray].cols) { | ||
amsData[unit].tray[tray] = { | ||
'bed_temp': '', | ||
'bed_temp_type': '', | ||
'cols': [], | ||
'drying_temp': '', | ||
'drying_time': '', | ||
'id': '', | ||
'nozzle_temp_max': '', | ||
'nozzle_temp_min': '', | ||
'remain': 0, | ||
'tag_uid': '', | ||
'tray_color': '', | ||
'tray_diameter': '', | ||
'tray_id_name': '', | ||
'tray_info_idx': '', | ||
'tray_sub_brands': '', | ||
'tray_type': '', | ||
'tray_uuid': '', | ||
'tray_weight': '', | ||
'xcam_info': '' | ||
}; | ||
amsData[unit].tray[tray]._filamentPresent = false; | ||
// amsData[unit].tray[tray] = { | ||
// 'bed_temp': '', | ||
// 'bed_temp_type': '', | ||
// 'cols': [], | ||
// 'drying_temp': '', | ||
// 'drying_time': '', | ||
// 'id': '', | ||
// 'nozzle_temp_max': '', | ||
// 'nozzle_temp_min': '', | ||
// 'remain': 0, | ||
// 'tag_uid': '', | ||
// 'tray_color': '', | ||
// 'tray_diameter': '', | ||
// 'tray_id_name': '', | ||
// 'tray_info_idx': '', | ||
// 'tray_sub_brands': '', | ||
// 'tray_type': '', | ||
// 'tray_uuid': '', | ||
// 'tray_weight': '', | ||
// 'xcam_info': '' | ||
// }; | ||
// amsData[unit].tray[tray]._filamentPresent = false; | ||
} else { | ||
amsData[unit].tray[tray]._filamentPresent = true; | ||
// amsData[unit].tray[tray]._filamentPresent = true; | ||
amsData[unit].tray[tray].bed_temp = parseInt(amsData[unit].tray[tray].bed_temp); | ||
@@ -306,4 +303,5 @@ } | ||
requestDatap1pSeries(){ | ||
requestData(){ | ||
// Prepare MQTT message | ||
const msg = { | ||
@@ -319,7 +317,10 @@ 'pushing': { | ||
this.publishMQTTmessages(msg); | ||
// Handle interval | ||
if (timeouts['p1pPolling']) {clearTimeout(timeouts['p1pPolling']); timeouts['p1pPolling'] = null;} | ||
timeouts['p1pPolling'] = setTimeout(()=> { | ||
// Handle an interval only if not X1-Series | ||
if (timeouts['dataPolling']) {clearTimeout(timeouts['dataPolling']); timeouts['dataPolling'] = null;} | ||
timeouts['dataPolling'] = setTimeout(()=> { | ||
// Request data for P1p printer series | ||
this.requestDatap1pSeries(); | ||
if (this.config.printerModel !== 'X1' && this.config.printerModel !== 'X1-Carbon' && this.config.printerModel !== 'X1-Series'){ | ||
this.requestData(); | ||
} | ||
}, this.config.requestInterval * 1000); | ||
@@ -509,3 +510,3 @@ | ||
if (timeouts[this.config.serial]) {clearTimeout(timeouts[this.config.serial]); timeouts[this.config.serial] = null;} | ||
if (timeouts['p1pPolling']) {clearTimeout(timeouts['p1pPolling']); timeouts[timeouts['p1pPolling']] = null;} | ||
if (timeouts['dataPolling']) {clearTimeout(timeouts['dataPolling']); timeouts[timeouts['dataPolling']] = null;} | ||
@@ -512,0 +513,0 @@ // Close MQTT connection if present |
{ | ||
"name": "iobroker.bambulab", | ||
"version": "0.2.0", | ||
"version": "0.3.0-beta.3", | ||
"description": "Connects to Bambulab 3d printers to retrieve data of current print and control main aspects", | ||
@@ -40,9 +40,9 @@ "author": { | ||
"@types/mocha": "^10.0.1", | ||
"@types/node": "^20.4.4", | ||
"@types/node": "^20.8.10", | ||
"@types/proxyquire": "^1.3.28", | ||
"@types/sinon": "^10.0.15", | ||
"@types/sinon-chai": "^3.2.10", | ||
"@types/sinon": "^17.0.1", | ||
"@types/sinon-chai": "^3.2.11", | ||
"chai": "^4.3.8", | ||
"chai-as-promised": "^7.1.1", | ||
"eslint": "^8.46.0", | ||
"eslint": "^8.52.0", | ||
"eslint-config-prettier": "^8.8.0", | ||
@@ -68,2 +68,3 @@ "eslint-plugin-prettier": "^5.0.0", | ||
"scripts": { | ||
"statDev": "dev-server watch --noStart", | ||
"test:js": "mocha --config test/mocharc.custom.json \"{!(node_modules|test)/**/*.test.js,*.test.js,test/**/test!(PackageFiles|Startup).js}\"", | ||
@@ -70,0 +71,0 @@ "test:package": "mocha test/package --exit", |
@@ -72,2 +72,8 @@ <img src="admin/bambulab.png" alt="Logo" width="200"/> | ||
--> | ||
### 0.3.0-beta.3 (2023-11-16) - Stable release candidate | ||
* (DutchmanNL) Add missing definitions to ensure correct creation of states, resolves #39 | ||
* (DutchmanNL) Adjust log level for Unknown Message from error to debug, resolves #39 | ||
* (DutchmanNL) Reduce selection dropdown in admin config to printer series instead of a specific printer type | ||
* (DutchmanNL) Update adapter code to support new firmware versions released by bambulab, please ensure your printer is up-to-date! resolves #46, resolves #38, resolves #26, | ||
### 0.2.0 (2023-10-18) - Small fixes for new firmware version | ||
@@ -74,0 +80,0 @@ * (DutchmanNL) Button for homing added, fixes #28 |
123390
1702
137