Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Connecting FBG5 to HA #2

Open
gumileeev opened this issue Oct 31, 2021 · 3 comments
Open

Connecting FBG5 to HA #2

gumileeev opened this issue Oct 31, 2021 · 3 comments

Comments

@gumileeev
Copy link

Hello! Tell me what I need to do to make my FBG5 on Marlin start giving mqtt statuses in HA?

@Blooof
Copy link
Owner

Blooof commented Oct 31, 2021

Привет.
Я собрал исполняемый jar файл для проекта, он в списке Releases проекта.
https://github.com/Blooof/Mks2MqttReporter/releases/tag/1.0.0

Это консольное приложение, запустить его можно из консоли Cmd/PowerShell на Windows или в терминале bash/zsh на Linux/MacOS. Так как проект на java, нужно установить Java Runtime Environment (JRE) версии не ниже 11. Сам я использую https://libericajdk.ru/pages/downloads/#/java-11-lts, должно быть достаточно Standard JRE.

В репозитории есть файл run.sh. В нем пример командной строки для запуска проекта. Нужно положить run.sh в одну папку с Mks2MqttReporter.jar, отредактировать run.sh (поменять адрес/порт до своих принтера и mqtt сервера) и запустить.
Mqtt сервер и принтер должны работать в момент запуска приложения, иначе приложение не стартанет с ошибкой. Далее приложение будет автоматически переподключаться к принтеру и mqtt серверу, если они выключатся.

Приложение может выводить пример использования, если запустить его без параметров (java -jar Mks2MqttReporter.jar).

Приложение я запускал на Armbian OS (Debian для Cubietruck), работает с моим принтером Ghost 4S.
Если команды принтера не изменились у новой версии принтера/прошивки, то, возможно, заработает и с Ghost 5.

Так как принтер поддерживает только одно соединение с собой через WiFi, то нужно выключать Mks2MqttReporter при использовании Cura, иначе они будут конфликтовать. Я сперва отправлял что-то в печать, закрывал Cura, затем запускал Mks2MqttReporter.

Помимо обязательных параметров ph/pp/ms можно указать mqtt topic prefix (параметр -t), в который приложение будет отправлять значения.
После запуска Mks2MqttReporter раз в 5 секунд получает от принтера и отправляет в mqtt значения:
curExtruderTemp -- текущая температура экструдера.
curBedTemp -- текущая температура стола.
tgtExtruderTemp -- целевая температура экструдера.
tgtBedTemp -- целевая температура стола.
А также раз в 30 секунд получает и отправляет значения:
status -- состояние принтера (PRINTING/IDLE/etc).
file -- название файла печати.
elapsed -- прошедшее время.
job_percent -- процент выполнения.
Всё это попадает в указанный mqtt topic prefix.

@snoopomsk
Copy link

Спасибо тебе, добрый человек!
Глупый вопрос, но :
Есть ли шанс интегрировать твою работу непосредственно в прошивку принтера (какой нибудь PubSub клиент) чтобы принтер сам отдавал статус в MQTT и не приходилось каждый раз останавливать приложение при коннекте из Cura?

@Blooof
Copy link
Owner

Blooof commented Nov 1, 2021

Это уже к разработчикам прошивки в Китай :)
Теоретически мне это кажется возможным. Насколько я понимаю, прошивка принтера (по крайней мере моего Ghost 4S) на обычном Arduino, а для него вполне себе есть mqtt клиенты.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants