adamoutler / anycubic-homeassistant

Home assistant integration for Anycubic Printers.
Other
11 stars 2 forks source link

M3 support? #2

Closed aderusha closed 2 years ago

aderusha commented 2 years ago

Any chance that Photon M3 support might be on the roadmap?

adamoutler commented 2 years ago

The ones with wifi capabilities, maybe. I have no device to work with though. If I had an M3 device, then most certainly. Without a device to work with, no. I am not planning to purchase one soon, but if you want to organize a budget for hardware, I'll do the software development. For now, if it works, it works.

aderusha commented 2 years ago

Totally understood. I can confirm that this does not work with an M3 Plus. I suspect it's a completely different API, port 6000 is not open on this system. telnet and ssh are both open but no idea what account details could be used there. Here's a dump from nmap on the chance that it helps anyone else:

Starting Nmap 7.92 ( https://nmap.org )
Nmap scan report for xpro.example.com (10.0.100.106)
Host is up (0.050s latency).
Not shown: 995 closed tcp ports (reset), 986 closed udp ports (port-unreach)
PORT      STATE         SERVICE VERSION
7/tcp     open          echo
13/tcp    open          daytime
22/tcp    open          ssh     Dropbear sshd 2020.81 (protocol 2.0)
23/tcp    open          telnet  BusyBox telnetd
37/tcp    open          time    (32 bits)
|_rfc868-time: 2022-08-13T14:58:30
7/udp     open          echo
13/udp    open          daytime AIX daytime
37/udp    open          time    (32 bits)
|_rfc868-time: 2022-08-13T14:58:30
68/udp    open|filtered dhcpc
515/udp   open|filtered printer
1066/udp  open|filtered fpo-fns
2051/udp  open|filtered epnsdp
5355/udp  open|filtered llmnr
19096/udp open|filtered unknown
19503/udp open|filtered unknown
20309/udp open|filtered unknown
20665/udp open|filtered unknown
21674/udp open|filtered unknown
59846/udp open|filtered unknown
MAC Address: D4:8A:3B:12:34:56 (Hunan Fn-link Technology Limited)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Uptime guess: 29.712 days (since Thu Jul 14 17:56:14 2022)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=258 (Good luck!)
IP ID Sequence Generation: All zeros
Service Info: Host: xpro; OSs: Unix, Linux, AIX; CPE: cpe:/o:linux:linux_kernel, cpe:/o:ibm:aix
adamoutler commented 2 years ago

Can you connect up telnet to some of those ports and send getstatus followed by pressing enter? The command is telnet 192.168.1.105 23 23 would be the port.

adamoutler commented 2 years ago

Alternatively, you could do echo getstatus| nc 10.0.100.106 23 and just replace the 23 with the various ports discovered in your nmap. This can be done from terminal addon with no additional requirements Screenshot_20220814-183802

aderusha commented 2 years ago

Port 23 is exactly what it looks like, a telnet session which is prompting for a login ("xpro login:"). All of the TCP ports listed above are similar, they are just what they look like (echo is echoing things, daytime is providing daytime, ssh is waiting for a login, etc).

adamoutler commented 2 years ago

Yeah, I think this will require an entirely separate integration. Unless you figure out that uart-wifi protocol is available, it looks like the M3 will require cloud integration which is currently outside the scope of this integration. The M3 you're using has a high level operating system which appears to run Linux and is capable of much more, whereas the MonoX is basically an FPGA which reports it's status on port 6000.

If you can find a way to get a local report from the device, then we can integrate it pretty easily by using an alternate information gathering method. However currently it appears such a method doesn't exist.

If this is something you're interested in having me work on, I'd encourage you to raise funds and send me a printer. Or, submit a patch which does not affect operation of existing MonoX. Or, create a new cloud-based integration. There's not much I can do without a device to hack or code to work with.