X1Plus - NodeRed to HomeAssistant Integration
This requires version 2.0_rc0 or higher of X1Plus
Requirements
- My Basic Flow fully setup (v2.1.5+)
- X1Plus (which means only for X1/X1C printers)
- Highly Recommended: Set a static IP for your printer
NodeRed Setup
You will need to install the following palettes in NodeRed before continuing. I am working on improving this and may be subject to change in future versions.
NodeRed Required Palettes
- @arcsoft/node-red-sshtools >= 0.0.12
Once the palette is installed, you can import the flow after configuring down below. Import this into the same flow/tab as the Basic Flow. You will need to enter in the same printer-name as you input in the basic flow, this is required to match up the MQTT brokers in the same tab.
Import this into your NodeRed Flow and before you deploy, you will need to configure the SSH
node.
Find the SSH node in the imported flow and double click it to open its settings. Notice that the SSH Config is not set, as you need to create a new one.
Create a new ssh-conncfg. You can set any name to it (I recommend naming it after the printer name with X1P in the name). Then fill in the host information, and SSH user/password.
One configured, press Done and Deploy the flow.
The functionality is currently limited - it will allow you to toggle on/off OTA and VNC, as well as check for and remotely OTA install an official firmware update. It will also create sensors for finding out the current X1Plus version, and the OEM version it's based off of.
Currently this flow will run anytime X1Plus is detected as active from the Basic Flow, and will only work if this is the case.
It will periodically check for OTA updates and current versions (~6 hour interval). It will also only check for settings updates (OTA/VNC status) every 5 minutes, which means if you change these settings on the printer, it will not be reflected immediately unless done via this integration.
I am working with the X1Plus team to implement MQTT commands for these services such that I can remove the requirement to SSH. In addition, the hope is that any settings change will also be published to this new MQTT implementation. But for now, this flow will use SSH for the basic implementation to get feedback and test.
FAQ and Common Issues
1) I get a warning that X1Plus is not installed, but it is?
If you had installed X1Plus while already having the Basic Flow active in NodeRed, verify that you have the following value set to true in the Basic Flow (x1plus_installed
).
Keep x1plus_active set to false, this will change when it is detected by my flow.
Otherwise, verify your NodeRed flow is the latest version.
That's it! X1Plus' data is now partially integrated alongside your printer into HomeAssistant, giving you a few good sensors and control over X1Plus related features.
If you have any questions or issues, feel free to leave a comment, contact me over discord (@wolfwithsword) or create an issue/discussion on the github repo for this project.