Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Honeywell Client

Honeywell Client Laravel Package

fruitcake/honeywell-client

A PHP client for the Honeywell API, offering a simple, framework-friendly way to authenticate and interact with Honeywell devices and data. Wraps Honeywell endpoints in clean, testable classes so Laravel apps can query and manage connected systems without handling raw HTTP requests.

View on GitHub
Deep Wiki
Context7

Fruitcake Honeywell client for honeywell T-type Thermostats

Frequently asked questions about Honeywell Client
What is fruitcake/honeywell-client used for?
It is a PHP client that wraps Honeywell cloud API endpoints for authentication and device or service interactions, commonly T-series thermostats such as T5, T6, T9, and T10. It provides a framework-agnostic core plus an optional Laravel service provider and facade. The package handles HTTP transport so you can read thermostat state and issue commands without writing raw Guzzle requests.
How do I install fruitcake/honeywell-client in Laravel?
Install it with Composer using the package name fruitcake/honeywell-client, then register or auto-discover the Laravel service provider if your Laravel version supports discovery. Publish the package configuration if provided, add your Honeywell account credentials through environment variables or config, and resolve the client or facade. Check Composer constraints first because the package was released in the Laravel 8 and 9 era and may need overrides on newer Laravel versions.
Does fruitcake/honeywell-client support Laravel 10 or Laravel 11?
There is no indication of official Laravel 10 or 11 support, and the package has been unmaintained since 2022. Its Composer and Guzzle constraints were pinned when Laravel 8 and 9 were current, so newer Laravel and PHP 8.2 or 8.3 projects will likely need a fork or dependency constraint overrides. Treat it as unsupported until you verify installation and runtime behavior in your target stack.
Which Honeywell API does this package use?
The repository does not document a contract with the official Resideo or Honeywell Home developer API. Evaluation suggests it most likely targets the legacy Total Connect Comfort session-cookie API rather than an OAuth 2.0 developer API. That distinction matters because a private, undocumented endpoint has no versioning or service-level agreement and may be retired or regionalized without notice.
Can I use it to read thermostat temperature and set a setpoint?
Yes, the package is intended for common Honeywell thermostat operations such as reading temperature, setpoint, mode, fan, and schedule or hold status, and issuing write commands for setpoint, mode, and hold. It is a transport and API wrapper only, so it will not contain business logic such as scheduling policies or tenant rules. Wrap it in your own thermostat adapter so controllers and jobs do not depend directly on the package.
How should I handle Honeywell credentials in a Laravel app?
Honeywell username and password credentials are sensitive because they can control physical HVAC equipment, so store them in a secrets manager or encrypted environment configuration rather than in source control. Use per-tenant isolation, audit logging for read and write actions, and avoid logging credentials or raw session cookies. Do not treat this as ordinary API-key handling, because account compromise has real-world physical effects.
Is fruitcake/honeywell-client safe for production use?
Treat it as a reference implementation rather than a supported production dependency. It has been unmaintained since October 2022 with effectively no community adoption, so any breakage from API drift or framework upgrades is yours to fix. The code surface is small enough to audit, but API stability and credential security remain high risks. If you proceed, fork and pin the package and validate it with real hardware and a real account.
How do I test code that uses fruitcake/honeywell-client?
Mock the Guzzle HTTP layer or wrap the client behind your own ThermostatProvider interface and fake that interface in tests. The package is described as having predictable, testable response handling, so you can assert against representative Honeywell authentication and device payloads. Do not call real Honeywell endpoints in CI because tests would depend on live credentials, device state, and an undocumented external service.
What are alternatives to fruitcake/honeywell-client?
If you can obtain official Resideo or Honeywell Home developer credentials, build directly against the documented OAuth API instead of using this package. Otherwise, consider a direct Guzzle client behind your own adapter, or evaluate other thermostat providers such as Nest, Ecobee, or generic Z-Wave integrations. Defining an internal thermostat interface makes it possible to swap providers without rewriting controllers or jobs.
Can I use this package in a multi-tenant Laravel SaaS?
Not as shipped without significant care, because the credential model appears to be one Honeywell account per client instance. For multi-tenant use, create a separate client instance per tenant with isolated encrypted credentials and route all access through your own provider interface. Verify that session state is not shared globally, add audit logging for HVAC commands, and expect to fork the package if you need long-term maintenance.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource